From 30c34d664cbd6d27272728b3619425ea3ef8744d Mon Sep 17 00:00:00 2001 From: Russell Steicke Date: Sun, 3 Aug 2008 22:14:01 +0800 Subject: [PATCH] Check for pre-commit hook existence. 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 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tg.sh b/tg.sh index 6896721..c334f70 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" -- 2.30.2