mirror of
https://github.com/golang/go
synced 2024-11-18 13:54:59 -07:00
cmd/dist: show friendlier error message when building outside a Git repo
Fixes #9932 Change-Id: I7943470a1784278a5c6e99c3b66c59d4953734ba Reviewed-on: https://go-review.googlesource.com/5340 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
5254b7e9ce
commit
5f84238444
21
src/cmd/dist/build.go
vendored
21
src/cmd/dist/build.go
vendored
@ -296,6 +296,11 @@ func findgoversion() string {
|
|||||||
return chomp(readfile(path))
|
return chomp(readfile(path))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Show a nicer error message if this isn't a Git repo.
|
||||||
|
if !isGitRepo() {
|
||||||
|
fatal("FAILED: not a Git repo; must put a VERSION file in $GOROOT")
|
||||||
|
}
|
||||||
|
|
||||||
// Otherwise, use Git.
|
// Otherwise, use Git.
|
||||||
// What is the current branch?
|
// What is the current branch?
|
||||||
branch := chomp(run(goroot, CheckExit, "git", "rev-parse", "--abbrev-ref", "HEAD"))
|
branch := chomp(run(goroot, CheckExit, "git", "rev-parse", "--abbrev-ref", "HEAD"))
|
||||||
@ -321,6 +326,22 @@ func findgoversion() string {
|
|||||||
return tag
|
return tag
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initial tree setup.
|
* Initial tree setup.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user