mirror of
https://github.com/golang/go
synced 2024-11-19 21:04:43 -07:00
cmd/dist: improve isGitRepo to handle git "worktree"s
Simply checking the exit code of `git rev-parse --git-dir` should suffice here, but that requires deviating from the infrastructure provided by `run`, so I've left that for a future change. Fixes #11211. Change-Id: I7cbad86a8a06578f52f66f734f5447b597ddc962 Reviewed-on: https://go-review.googlesource.com/18213 Reviewed-by: Russ Cox <rsc@golang.org>
This commit is contained in:
parent
be20948e27
commit
ab096d587f
18
src/cmd/dist/build.go
vendored
18
src/cmd/dist/build.go
vendored
@ -322,18 +322,12 @@ func findgoversion() string {
|
||||
|
||||
// isGitRepo reports whether the working directory is inside a Git repository.
|
||||
func isGitRepo() bool {
|
||||
p := ".git"
|
||||
for {
|
||||
fi, err := os.Stat(p)
|
||||
if os.IsNotExist(err) {
|
||||
p = filepath.Join("..", p)
|
||||
continue
|
||||
}
|
||||
if err != nil || !fi.IsDir() {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
// NB: simply checking the exit code of `git rev-parse --git-dir` would
|
||||
// suffice here, but that requires deviating from the infrastructure
|
||||
// provided by `run`.
|
||||
gitDir := chomp(run(goroot, 0, "git", "rev-parse", "--git-dir"))
|
||||
fi, err := os.Stat(gitDir)
|
||||
return err == nil && fi.IsDir()
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user