# Regression test for https://go.dev/issue/65339. # Unnecessary git tree object required [short] skip 'constructs a local git repo' [!git] skip env GIT_AUTHOR_NAME='Go Gopher' env GIT_AUTHOR_EMAIL='gopher@golang.org' env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL # Create 2 commit env GIT_COMMITTER_DATE=2024-01-30T10:52:00+08:00 env GIT_AUTHOR_DATE=2024-01-30T10:52:00+08:00 cd $WORK/repo exec git init exec git add go.mod main.go exec git commit -m 'initial commit' env GIT_COMMITTER_DATE=2024-01-30T10:53:00+08:00 env GIT_AUTHOR_DATE=2024-01-30T10:53:00+08:00 exec git add extra.go exec git commit -m 'add extra.go' # Assume the tree object from initial commit is not available (e.g. partial clone) exec git log --pretty=%T cmp stdout $WORK/.git-trees rm .git/objects/66/400c89b45cc96da36d232844dbf9ea5daa6bcf # Build the module, which should succeed go build -v -buildvcs=true -o test go version -m test stdout '^\tbuild\tvcs.revision=fe3c8204d2332a731166269932dd23760c1b576a$' -- $WORK/repo/go.mod -- module github.com/golang/issue65339 go 1.20 -- $WORK/repo/main.go -- package main func main() { println("hello, world") } -- $WORK/repo/extra.go -- package main -- $WORK/.git-trees -- ac724c6e5e3f86815e057ff58a639cab613abf28 66400c89b45cc96da36d232844dbf9ea5daa6bcf