[!exec:git] skip
[!exec:hg] skip
[short] skip
env GOFLAGS=-n

# Create a root module in a root Git repository.
mkdir root
cd root
go mod init example.com/root
exec git init

# Nesting repositories in parent directories are ignored, as the current
# directory main package, and containing main module are in the same repository.
# This is an error in GOPATH mode (to prevent VCS injection), but for modules,
# we assume users have control over repositories they've checked out.
mkdir hgsub
cd hgsub
exec hg init
cp ../../main.go main.go
! go build
stderr '^error obtaining VCS status: main module is in repository ".*root" but current directory is in repository ".*hgsub"$'
stderr '^\tUse -buildvcs=false to disable VCS stamping.$'
go build -buildvcs=false
go mod init example.com/root/hgsub
go build
cd ..

# It's an error to build a package from a nested Git repository if the package
# is in a separate repository from the current directory or from the module
# root directory.
mkdir gitsub
cd gitsub
exec git init
exec git config user.name 'J.R.Gopher'
exec git config user.email 'gopher@golang.org'
cp ../../main.go main.go
! go build
stderr '^error obtaining VCS status: main module is in repository ".*root" but current directory is in repository ".*gitsub"$'
go build -buildvcs=false
go mod init example.com/root/gitsub
exec git commit --allow-empty -m empty # status commands fail without this
go build
rm go.mod
cd ..
! go build ./gitsub
stderr '^error obtaining VCS status: main package is in repository ".*gitsub" but current directory is in repository ".*root"$'
go build -buildvcs=false -o=gitsub${/} ./gitsub

-- main.go --
package main
func main() {}
