review: Handle windows paths
Change-Id: Ic053c85a57cd78e26a6c80fcfb19a9e30f228727
Reviewed-on: https://go-review.googlesource.com/1177
Reviewed-by: Andrew Gerrand <adg@golang.org>
diff --git a/git-review/hook.go b/git-review/hook.go
index baf0af1..7e86457 100644
--- a/git-review/hook.go
+++ b/git-review/hook.go
@@ -8,6 +8,7 @@
"io/ioutil"
"os"
"path/filepath"
+ "runtime"
)
var hookFile = filepath.FromSlash(".git/hooks/commit-msg")
@@ -34,11 +35,15 @@
if err != nil {
dief("could not get current directory: %v", err)
}
+ rootlen := 1
+ if runtime.GOOS == "windows" {
+ rootlen += len(filepath.VolumeName(dir))
+ }
for {
if _, err := os.Stat(filepath.Join(dir, ".git")); err == nil {
return dir
}
- if len(dir) == 1 && dir[0] == filepath.Separator {
+ if len(dir) == rootlen && dir[rootlen-1] == filepath.Separator {
dief("git root not found. Rerun from within the Git tree.")
}
dir = filepath.Dir(dir)