chiark / gitweb /
hooks/pre-commit.sh: don't wail on detached head for missing .top* files
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Fri, 20 Mar 2009 19:40:07 +0000 (20:40 +0100)
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Fri, 20 Mar 2009 19:40:07 +0000 (20:40 +0100)
This fixes a warning

fatal: ref HEAD is not a symbolic ref

when your HEAD is detached.

And branches under refs/top-bases/ don't need these files either.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
hooks/pre-commit.sh

index da631856909dba5a7420ee402e583fbde892f68a..52d201e6c490c5fa0e5e29667253062421f34618 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 "${head_#refs/heads/#refs/top-bases#}" >/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" ] ||