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)