...
1env GO111MODULE=on
2env proxy=$GOPROXY
3env GOPROXY=direct
4
5# GOVCS stops go get
6env GOVCS='*:none'
7! go get github.com/google/go-cmp
8stderr '^go: GOVCS disallows using git for public github.com/google/go-cmp; see ''go help vcs''$'
9env GOPRIVATE='github.com/google'
10! go get github.com/google/go-cmp
11stderr '^go: GOVCS disallows using git for private github.com/google/go-cmp; see ''go help vcs''$'
12
13# public pattern works
14env GOPRIVATE='github.com/google'
15env GOVCS='public:all,private:none'
16! go get github.com/google/go-cmp
17stderr '^go: GOVCS disallows using git for private github.com/google/go-cmp; see ''go help vcs''$'
18
19# private pattern works
20env GOPRIVATE='hubgit.com/google'
21env GOVCS='private:all,public:none'
22! go get github.com/google/go-cmp
23stderr '^go: GOVCS disallows using git for public github.com/google/go-cmp; see ''go help vcs''$'
24
25# other patterns work (for more patterns, see TestGOVCS)
26env GOPRIVATE=
27env GOVCS='github.com:svn|hg'
28! go get github.com/google/go-cmp
29stderr '^go: GOVCS disallows using git for public github.com/google/go-cmp; see ''go help vcs''$'
30env GOVCS='github.com/google/go-cmp/inner:git,github.com:svn|hg'
31! go get github.com/google/go-cmp
32stderr '^go: GOVCS disallows using git for public github.com/google/go-cmp; see ''go help vcs''$'
33
34# bad patterns are reported (for more bad patterns, see TestGOVCSErrors)
35env GOVCS='git'
36! go get github.com/google/go-cmp
37stderr '^go: github.com/google/go-cmp: malformed entry in GOVCS \(missing colon\): "git"$'
38
39env GOVCS=github.com:hg,github.com:git
40! go get github.com/google/go-cmp
41stderr '^go: github.com/google/go-cmp: unreachable pattern in GOVCS: "github.com:git" after "github.com:hg"$'
42
43# bad GOVCS patterns do not stop commands that do not need to check VCS
44go list
45env GOPROXY=$proxy
46go get rsc.io/quote # ok because used proxy
47env GOPROXY=direct
48
49# svn is disallowed by default
50env GOPRIVATE=
51env GOVCS=
52! go get rsc.io/nonexist.svn/hello
53stderr '^go: rsc.io/nonexist.svn/hello: GOVCS disallows using svn for public rsc.io/nonexist.svn; see ''go help vcs''$'
54
55# fossil is disallowed by default
56env GOPRIVATE=
57env GOVCS=
58! go get rsc.io/nonexist.fossil/hello
59stderr '^go: rsc.io/nonexist.fossil/hello: GOVCS disallows using fossil for public rsc.io/nonexist.fossil; see ''go help vcs''$'
60
61# bzr is disallowed by default
62env GOPRIVATE=
63env GOVCS=
64! go get rsc.io/nonexist.bzr/hello
65stderr '^go: rsc.io/nonexist.bzr/hello: GOVCS disallows using bzr for public rsc.io/nonexist.bzr; see ''go help vcs''$'
66
67# git is OK by default
68env GOVCS=
69env GONOSUMDB='*'
70[net:rsc.io] [git] [!short] go get rsc.io/sampler
71
72# hg is OK by default
73env GOVCS=
74env GONOSUMDB='*'
75[exec:hg] [!short] go get vcs-test.golang.org/go/custom-hg-hello
76
77# git can be disallowed
78env GOVCS=public:hg
79! go get rsc.io/nonexist.git/hello
80stderr '^go: rsc.io/nonexist.git/hello: GOVCS disallows using git for public rsc.io/nonexist.git; see ''go help vcs''$'
81
82# hg can be disallowed
83env GOVCS=public:git
84! go get rsc.io/nonexist.hg/hello
85stderr '^go: rsc.io/nonexist.hg/hello: GOVCS disallows using hg for public rsc.io/nonexist.hg; see ''go help vcs''$'
86
87-- go.mod --
88module m
89
90-- p.go --
91package p
View as plain text