chiark / gitweb /
factor out checks into function
authormartin f. krafft <madduck@debian.org>
Fri, 21 Nov 2008 12:04:43 +0000 (13:04 +0100)
committermartin f. krafft <madduck@debian.org>
Fri, 21 Nov 2008 12:04:43 +0000 (13:04 +0100)
Signed-off-by: martin f. krafft <madduck@debian.org>
tg.sh

diff --git a/tg.sh b/tg.sh
index a3ee0f8de1c4c106b553e0f2f3ae008a146c44e4..f8c8de4ba859d76d254580ef88041b3bdce05f19 100644 (file)
--- a/tg.sh
+++ b/tg.sh
@@ -17,6 +17,20 @@ die()
        exit 1
 }
 
+# Make sure we are in the worktree, not under .git; die otherwise
+ensure_git_repo_or_die()
+{
+       local is_inside_repo is_inside_git_dir
+       is_inside_repo=1
+       is_inside_git_dir=$(git rev-parse --is-inside-git-dir 2>/dev/null) ||
+               is_inside_repo=0
+
+       case "$is_inside_repo/$is_inside_git_dir" in
+       0*) die "Cannot run outside of a Git repository.";;
+       1/true) die "Cannot run from inside \`.git\` hierarchy, please switch to work-tree.";;
+       esac
+}
+
 # setup_hook NAME
 setup_hook()
 {
@@ -249,15 +263,7 @@ do_help()
 [ -d "@cmddir@" ] ||
        die "No command directory: '@cmddir@'"
 
-# Make sure we are in the worktree, not under .git
-is_inside_repo=1
-is_inside_git_dir=$(git rev-parse --is-inside-git-dir 2>/dev/null) ||
-       is_inside_repo=0
-
-case "$is_inside_repo/$is_inside_git_dir" in
-0*) die "Cannot run outside of a Git repository.";;
-1/true) die "Cannot run from inside \`.git\` hierarchy, please switch to work-tree.";;
-esac
+ensure_git_repo_or_die
 
 ## Initial setup