From: Russell Steicke Date: Sun, 03 Aug 2008 14:14:01 GMT Subject: [PATCH] [TopGit] Check for pre-commit hook existence. Message-ID: <20080803141030.GC11179@maggie.localnet> In-Reply-To: <20080803031424.GV32184@machine.or.cz> Running tg in a repo without an active pre-commit hook fails saying grep: .git/hooks/pre-commit: No such file or directory cat: .git/hooks/pre-commit: No such file or directory Even "tg help" does this! So add extra checks for existence of the pre-commit hook. --- tg.sh | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/tg.sh b/tg.sh index 56c5709..15005db 100644 --- a/tg.sh +++ b/tg.sh @@ -21,9 +21,11 @@ die() setup_hook() { hook_call="\"\$(tg --hooks-path)\"/$1 \"\$@\"" - if fgrep -q "$hook_call" "$git_dir/hooks/$1"; then - # Another job well done! - return + if [ -x "$git_dir/hooks/$1" ]; then + if fgrep -q "$hook_call" "$git_dir/hooks/$1"; then + # Another job well done! + return + fi fi # Prepare incanation if [ -x "$git_dir/hooks/$1" ]; then @@ -35,7 +37,7 @@ setup_hook() { echo "#!/bin/sh" echo "$hook_call" - cat "$git_dir/hooks/$1" + [ -x "$git_dir/hooks/$1" ] && cat "$git_dir/hooks/$1" } >"$git_dir/hooks/$1+" chmod a+x "$git_dir/hooks/$1+" mv "$git_dir/hooks/$1+" "$git_dir/hooks/$1" -- 1.6.0.rc1 -- Russell Steicke -- Fortune says: I got the bill for my surgery. Now I know what those doctors were wearing masks for. -- James Boren