]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.go1.17] cmd/go: remove mercurial from bitbucket vcs options
authorEthan Anderson <eanderson@atlassian.com>
Tue, 14 Dec 2021 16:59:06 +0000 (10:59 -0600)
committerCherry Mui <cherryyz@google.com>
Mon, 7 Feb 2022 16:28:43 +0000 (16:28 +0000)
Mercurial was deprecated as of July 1, 2020 as per https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket

Fixes #50812.
Updates #50810.

Change-Id: I0d40f84aaa393905cae7c4bed8919b15de9a5f6d
Reviewed-on: https://go-review.googlesource.com/c/go/+/371720
Trust: Russ Cox <rsc@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
Trust: Bryan Mills <bcmills@google.com>
(cherry picked from commit 5b1b80beb1a2a9a353738e80777d1e25cfdfa095)
Reviewed-on: https://go-review.googlesource.com/c/go/+/380996
Run-TryBot: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/cmd/go/internal/vcs/vcs.go
src/cmd/go/internal/vcs/vcs_test.go

index 91485f6f745b1ffcc64fcbd95f3449cbcb2b7cb6..ab42424b00ccad1a77e6c1159a0952bafe24fcdc 100644 (file)
@@ -5,7 +5,6 @@
 package vcs
 
 import (
-       "encoding/json"
        "errors"
        "fmt"
        exec "internal/execabs"
@@ -1189,8 +1188,9 @@ var vcsPaths = []*vcsPath{
        {
                pathPrefix: "bitbucket.org",
                regexp:     lazyregexp.New(`^(?P<root>bitbucket\.org/(?P<bitname>[A-Za-z0-9_.\-]+/[A-Za-z0-9_.\-]+))(/[A-Za-z0-9_.\-]+)*$`),
+               vcs:        "git",
                repo:       "https://{root}",
-               check:      bitbucketVCS,
+               check:      noVCSSuffix,
        },
 
        // IBM DevOps Services (JazzHub)
@@ -1262,56 +1262,6 @@ func noVCSSuffix(match map[string]string) error {
        return nil
 }
 
-// bitbucketVCS determines the version control system for a
-// Bitbucket repository, by using the Bitbucket API.
-func bitbucketVCS(match map[string]string) error {
-       if err := noVCSSuffix(match); err != nil {
-               return err
-       }
-
-       var resp struct {
-               SCM string `json:"scm"`
-       }
-       url := &urlpkg.URL{
-               Scheme:   "https",
-               Host:     "api.bitbucket.org",
-               Path:     expand(match, "/2.0/repositories/{bitname}"),
-               RawQuery: "fields=scm",
-       }
-       data, err := web.GetBytes(url)
-       if err != nil {
-               if httpErr, ok := err.(*web.HTTPError); ok && httpErr.StatusCode == 403 {
-                       // this may be a private repository. If so, attempt to determine which
-                       // VCS it uses. See issue 5375.
-                       root := match["root"]
-                       for _, vcs := range []string{"git", "hg"} {
-                               if vcsByCmd(vcs).Ping("https", root) == nil {
-                                       resp.SCM = vcs
-                                       break
-                               }
-                       }
-               }
-
-               if resp.SCM == "" {
-                       return err
-               }
-       } else {
-               if err := json.Unmarshal(data, &resp); err != nil {
-                       return fmt.Errorf("decoding %s: %v", url, err)
-               }
-       }
-
-       if vcsByCmd(resp.SCM) != nil {
-               match["vcs"] = resp.SCM
-               if resp.SCM == "git" {
-                       match["repo"] += ".git"
-               }
-               return nil
-       }
-
-       return fmt.Errorf("unable to detect version control system for bitbucket.org/ path")
-}
-
 // launchpadVCS solves the ambiguity for "lp.net/project/foo". In this case,
 // "foo" could be a series name registered in Launchpad with its own branch,
 // and it could also be the name of a directory within the main project
index c5c7a3283bce57d1fbc8ac0c09549fe80ace5290..a4fec3f8f84d1bf6a17dd498262a668c9dcca573 100644 (file)
@@ -183,6 +183,13 @@ func TestRepoRootForImportPath(t *testing.T) {
                        "chiselapp.com/user/kyle/fossilgg",
                        nil,
                },
+               {
+                       "bitbucket.org/workspace/pkgname",
+                       &RepoRoot{
+                               VCS:  vcsGit,
+                               Repo: "https://bitbucket.org/workspace/pkgname",
+                       },
+               },
        }
 
        for _, test := range tests {