chiark / gitweb /
Merge tag 'topgit-0.8' of git://repo.or.cz/topgit
[topgit.git] / hooks / pre-commit.sh
index da631856909dba5a7420ee402e583fbde892f68a..9d677e91279a4275e284fd94077e5a4a90a366d1 100644 (file)
@@ -17,9 +17,19 @@ tg_util
 ## Generally have fun
 
 # Don't do anything on non-topgit branch
-git rev-parse --verify "$(git symbolic-ref HEAD | sed 's/heads/top-bases/')" >/dev/null 2>&1 ||
-       exit 0
-
+if head_=$(git symbolic-ref -q HEAD); then
+       case "$head_" in
+               refs/heads/*)
+                       git rev-parse -q --verify "refs/top-bases${head_#refs/heads}" >/dev/null || exit 0;;
+               *)
+                       exit 0;;
+       esac
+
+else
+       exit 0;
+fi
+
+# TODO: check the index, not the working copy
 [ -s "$root_dir/.topdeps" ] ||
        die ".topdeps is missing"
 [ -s "$root_dir/.topmsg" ] ||