From: Uwe Kleine-König Date: Fri, 20 Mar 2009 19:40:07 +0000 (+0100) Subject: hooks/pre-commit.sh: don't wail on detached head for missing .top* files X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topgit.git;a=commitdiff_plain;h=c32d1dd4fcafad3f9c570adeda580a90d564a3af;hp=4096b92662b36f45f4770a8c0d987e32e157746c hooks/pre-commit.sh: don't wail on detached head for missing .top* files 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 --- diff --git a/hooks/pre-commit.sh b/hooks/pre-commit.sh index da63185..52d201e 100644 --- a/hooks/pre-commit.sh +++ b/hooks/pre-commit.sh @@ -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" ] ||