paulirish / git-open

Type `git open` to open the GitHub page or website for a repository in your browser.
MIT License
3.32k stars 248 forks source link

Azure DevOps (which replaces Visual Studio Team Services) doesn't work. #159

Open tet3 opened 4 years ago

tet3 commented 4 years ago

Docs say Visual Studio Team Services are supported, but since that's not an available product anymore, that's no longer really accurate. I never used VSTS, and maybe the MS-provided URL redirection is still working for repos cloned with a visualstudio.com URL.

The Azure DevOps URLs will definitely need some special handling; see below.

If an incorrect URL is opened, please provide the following so we can write a test:

Example clone url:

https: https://thomastaylor0772@dev.azure.com/thomastaylor0772/friends-with-boats/_git/friends-with-boats ssh: git@ssh.dev.azure.com:v3/thomastaylor0772/friends-with-boats/friends-with-boats

Example branch name:

testing

Expected web URL:

For base git repo: https://dev.azure.com/thomastaylor0772/_git/friends-with-boats

For a branch: https://dev.azure.com/thomastaylor0772/_git/friends-with-boats?path=%2F&version=GBtesting&_a=contents The path and _a params are optional - I included them as they're inserted when navigating to a branch in the Azure DevOps web interface, but https://dev.azure.com/thomastaylor0772/_git/friends-with-boats?version=GBtesting works fine, similar to how VSTS/TFS are currently handled.

For an issue (issue # 1): https://dev.azure.com/thomastaylor0772/friends-with-boats/_workitems/edit/1/

Maybe this would work currently if the remote is set for https, but SSH remote definitely doesn't work. I tried to get it sorted with > git config --global "open.https://ssh.dev.azure.com.domain" "dev.azure.com" but the :v3 in the SSH url and the lack of a _git token kept that from working.

jankatins commented 1 year ago

Another example: <org>@vs-ssh.visualstudio.com:v3/<org>/<project>/<repo> on the branch feature/whatever needs to get turned into https://dev.azure.com/<org>/<project>/_git/<repo>?version=GBfeature%2Fwhatever (so the branch has to be url encoded)

jgarte commented 3 weeks ago

I also ran into a similar bug trying to open Azure Devops repository URLs today.