aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/go/testdata/script/mod_get_downgrade.txt
blob: 685bde7efde5d227cc000b0b10730d2c910784e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
env GO111MODULE=on
[short] skip

# downgrade sampler should downgrade quote
cp go.mod.orig go.mod
go get -d rsc.io/sampler@v1.0.0
go list -m all
stdout 'rsc.io/quote v1.4.0'
stdout 'rsc.io/sampler v1.0.0'

# downgrade sampler away should downgrade quote further
go get -d rsc.io/sampler@none
go list -m all
stdout 'rsc.io/quote v1.3.0'

# downgrade should report inconsistencies and not change go.mod
go get -d rsc.io/quote@v1.5.1
go list -m all
stdout 'rsc.io/quote v1.5.1'
stdout 'rsc.io/sampler v1.3.0'

! go get -d rsc.io/sampler@v1.0.0 rsc.io/quote@v1.5.2 golang.org/x/text@none
! stderr add|remove|upgrad|downgrad
stderr '^go: rsc.io/quote@v1.5.2 requires rsc.io/sampler@v1.3.0, not rsc.io/sampler@v1.0.0$'

go list -m all
stdout 'rsc.io/quote v1.5.1'
stdout 'rsc.io/sampler v1.3.0'

# go get -u args should limit upgrades
cp go.mod.empty go.mod
go get -d -u rsc.io/quote@v1.4.0 rsc.io/sampler@v1.0.0
go list -m all
stdout 'rsc.io/quote v1.4.0'
stdout 'rsc.io/sampler v1.0.0'
! stdout golang.org/x/text

# downgrading away quote should also downgrade away latemigrate/v2,
# since there are no older versions. v2.0.0 is incompatible.
cp go.mod.orig go.mod
go list -m -versions example.com/latemigrate/v2
stdout v2.0.0 # proxy may serve incompatible versions
go get -d rsc.io/quote@none
go list -m all
! stdout 'example.com/latemigrate/v2'

-- go.mod.orig --
module x
require (
	rsc.io/quote v1.5.1
	example.com/latemigrate/v2 v2.0.1
)
-- go.mod.empty --
module x
-- x.go --
package x