From 070aa8ef65e3f3d642deef575b4dcb9183b42596 Mon Sep 17 00:00:00 2001 From: Yan Zhang Date: Thu, 10 Jan 2019 15:06:07 +0800 Subject: [PATCH] Add missing _git in Azure DevOps URLs. --- src/git/remotes/azure-devops.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/git/remotes/azure-devops.ts b/src/git/remotes/azure-devops.ts index df50d1f..5be6727 100644 --- a/src/git/remotes/azure-devops.ts +++ b/src/git/remotes/azure-devops.ts @@ -11,11 +11,16 @@ const sshPathRegex = /^\/?v\d\//i; export class AzureDevOpsRemote extends RemoteProvider { constructor(domain: string, path: string, protocol?: string, name?: string) { domain = domain.replace(sshDomainRegex, ''); - path = path.replace(sshPathRegex, ''); + path = path.replace(sshPathRegex, '').replace(stripGitRegex, '/'); super(domain, path, protocol, name); } + get baseUrl() { + const [orgAndProject, repo] = this.splitPath(); + return `https://${this.domain}/${orgAndProject}/_git/${repo}`; + } + get icon() { return 'vsts'; } @@ -58,4 +63,10 @@ export class AzureDevOpsRemote extends RemoteProvider { if (branch) return `${this.baseUrl}/?path=%2F${fileName}&version=GB${branch}&_a=contents${line}`; return `${this.baseUrl}?path=%2F${fileName}${line}`; } + + protected splitPath(): [string, string] { + const index = this.path.lastIndexOf('/'); + return [this.path.substring(0, index), this.path.substring(index + 1)]; + } + }