| File: TranslateRepositoryUrls.cs | Web Access |
| Project: src\sourcelink\src\SourceLink.AzureDevOpsServer.Git\Microsoft.SourceLink.AzureDevOpsServer.Git.csproj (Microsoft.SourceLink.AzureDevOpsServer.Git) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the License.txt file in the project root for more information. using System; using Microsoft.Build.Framework; using Microsoft.Build.Tasks.SourceControl; namespace Microsoft.SourceLink.AzureDevOpsServer.Git { [MSBuildMultiThreadableTask] public sealed class TranslateRepositoryUrls : TranslateRepositoryUrlsGitTask { // Translates // ssh://{account}@{domain}:{port}/{repositoryPath}/_ssh/{"_full"|"_optimized"}/{repositoryName} // to // https://{domain}/{repositoryPath}/_git/{repositoryName} protected override string? TranslateSshUrl(Uri uri) { if (!AzureDevOpsUrlParser.TryParseOnPremSsh(uri, out var repositoryPath, out var repositoryName)) { return null; } return UriUtilities.Combine( UriUtilities.Combine("https://" + uri.Host, repositoryPath), "_git/" + repositoryName); } } }