# example.net/pkgremoved@v0.1.0 refers to a package.
go get -d example.net/pkgremoved@v0.1.0

go list example.net/pkgremoved
stdout '^example.net/pkgremoved'

cp go.mod go.mod.orig


# When we resolve a new dependency on example.net/other,
# it will change the meaning of the path "example.net/pkgremoved"
# from a package (at v0.1.0) to only a module (at v0.2.0).
#
# If we simultaneously 'get' that module at the query "patch", the module should
# be constrained to the latest patch of its originally-selected version (v0.1.0),
# not upgraded to the latest patch of the new transitive dependency.

! go get -d example.net/pkgremoved@patch example.net/other@v0.1.0
stderr '^go get: example.net/other@v0.1.0 requires example.net/pkgremoved@v0.2.0, not example.net/pkgremoved@patch \(v0.1.1\)$'
cmp go.mod.orig go.mod


# However, we should be able to patch from a package to a module and vice-versa.

# Package to module ...

go get -d example.net/pkgremoved@v0.3.0
go list example.net/pkgremoved
stdout 'example.net/pkgremoved'

go get -d example.net/pkgremoved@patch
! go list example.net/pkgremoved

# ... and module to package.

go get -d example.net/pkgremoved@v0.4.0
! go list example.net/pkgremoved

go get -d example.net/pkgremoved@patch
go list example.net/pkgremoved
stdout 'example.net/pkgremoved'


-- go.mod --
module example

go 1.16

replace (
	example.net/other v0.1.0 => ./other

	example.net/pkgremoved v0.1.0 => ./prpkg
	example.net/pkgremoved v0.1.1 => ./prpkg

	example.net/pkgremoved v0.2.0 => ./prmod
	example.net/pkgremoved v0.2.1 => ./prmod

	example.net/pkgremoved v0.3.0 => ./prpkg
	example.net/pkgremoved v0.3.1 => ./prmod

	example.net/pkgremoved v0.4.0 => ./prmod
	example.net/pkgremoved v0.4.1 => ./prpkg
)
-- other/go.mod --
module example.net/other

go 1.16

require example.net/pkgremoved v0.2.0
-- other/other.go --
package other
-- prpkg/go.mod --
module example.net/pkgremoved

go 1.16
-- prpkg/pkgremoved.go --
package pkgremoved
-- prmod/go.mod --
module example.net/pkgremoved
-- prmod/README.txt --
Package pkgremoved was removed in v0.2.0 and v0.3.1,
and added in v0.1.0 and v0.4.1.
