On Sat, Mar 1, 2014 at 7:12 AM, Nguyễn Thái Ngọc Duy <[email protected]> wrote:
> If $GIT_COMMON_DIR is set, it should be $GIT_COMMON_DIR/hooks/, not
> $GIT_DIR/hooks/. Just let rev-parse --git-path handle it.
>
> Signed-off-by: Nguyễn Thái Ngọc Duy <[email protected]>
> ---
> git-am.sh | 22 +++++++++++-----------
> git-rebase--interactive.sh | 6 +++---
> git-rebase--merge.sh | 6 ++----
> git-rebase.sh | 4 ++--
> templates/hooks--applypatch-msg.sample | 4 ++--
> templates/hooks--pre-applypatch.sample | 4 ++--
> 6 files changed, 22 insertions(+), 24 deletions(-)
>
> diff --git a/git-am.sh b/git-am.sh
> index bbea430..dfa0618 100755
> --- a/git-am.sh
> +++ b/git-am.sh
> @@ -803,10 +803,10 @@ To restore the original branch and stop patching run
> \"\$cmdline --abort\"."
> continue
> fi
>
> - if test -x "$GIT_DIR"/hooks/applypatch-msg
> + hook="`git rev-parse --git-path hooks/applypatch-msg`"
Did you want to use $(...) rather than `...`?
Same question for the remainder of the patch.
> + if test -x "$hook"
> then
> - "$GIT_DIR"/hooks/applypatch-msg "$dotest/final-commit" ||
> - stop_here $this
> + "$hook" "$dotest/final-commit" || stop_here $this
> fi
>
> if test -f "$dotest/final-commit"
> @@ -880,9 +880,10 @@ did you forget to use 'git add'?"
> stop_here_user_resolve $this
> fi
>
> - if test -x "$GIT_DIR"/hooks/pre-applypatch
> + hook="`git rev-parse --git-path hooks/pre-applypatch`"
> + if test -x "$hook"
> then
> - "$GIT_DIR"/hooks/pre-applypatch || stop_here $this
> + "$hook" || stop_here $this
> fi
>
> tree=$(git write-tree) &&
> @@ -908,18 +909,17 @@ did you forget to use 'git add'?"
> echo "$(cat "$dotest/original-commit") $commit" >>
> "$dotest/rewritten"
> fi
>
> - if test -x "$GIT_DIR"/hooks/post-applypatch
> - then
> - "$GIT_DIR"/hooks/post-applypatch
> - fi
> + hook="`git rev-parse --git-path hooks/post-applypatch`"
> + test -x "$hook" && "$hook"
>
> go_next
> done
>
> if test -s "$dotest"/rewritten; then
> git notes copy --for-rewrite=rebase < "$dotest"/rewritten
> - if test -x "$GIT_DIR"/hooks/post-rewrite; then
> - "$GIT_DIR"/hooks/post-rewrite rebase < "$dotest"/rewritten
> + hook="`git rev-parse --git-path hooks/post-rewrite`"
> + if test -x "$hook"; then
> + "$hook" rebase < "$dotest"/rewritten
> fi
> fi
>
> diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
> index 43c19e0..d741b04 100644
> --- a/git-rebase--interactive.sh
> +++ b/git-rebase--interactive.sh
> @@ -632,9 +632,9 @@ do_next () {
> git notes copy --for-rewrite=rebase < "$rewritten_list" ||
> true # we don't care if this copying failed
> } &&
> - if test -x "$GIT_DIR"/hooks/post-rewrite &&
> - test -s "$rewritten_list"; then
> - "$GIT_DIR"/hooks/post-rewrite rebase < "$rewritten_list"
> + hook="`git rev-parse --git-path hooks/post-rewrite`"
> + if test -x "$hook" && test -s "$rewritten_list"; then
> + "$hook" rebase < "$rewritten_list"
> true # we don't care if this hook failed
> fi &&
> warn "Successfully rebased and updated $head_name."
> diff --git a/git-rebase--merge.sh b/git-rebase--merge.sh
> index e7d96de..68f5d09 100644
> --- a/git-rebase--merge.sh
> +++ b/git-rebase--merge.sh
> @@ -93,10 +93,8 @@ finish_rb_merge () {
> if test -s "$state_dir"/rewritten
> then
> git notes copy --for-rewrite=rebase <"$state_dir"/rewritten
> - if test -x "$GIT_DIR"/hooks/post-rewrite
> - then
> - "$GIT_DIR"/hooks/post-rewrite rebase
> <"$state_dir"/rewritten
> - fi
> + hook="`git rev-parse --git-path hooks/post-rewrite`"
> + test -x "$hook" && "$hook" rebase <"$state_dir"/rewritten
> fi
> say All done.
> }
> diff --git a/git-rebase.sh b/git-rebase.sh
> index 8a3efa2..1cf8dba 100755
> --- a/git-rebase.sh
> +++ b/git-rebase.sh
> @@ -195,9 +195,9 @@ run_specific_rebase () {
>
> run_pre_rebase_hook () {
> if test -z "$ok_to_skip_pre_rebase" &&
> - test -x "$GIT_DIR/hooks/pre-rebase"
> + test -x "`git rev-parse --git-path hooks/pre-rebase`"
> then
> - "$GIT_DIR/hooks/pre-rebase" ${1+"$@"} ||
> + "`git rev-parse --git-path hooks/pre-rebase`" ${1+"$@"} ||
> die "$(gettext "The pre-rebase hook refused to rebase.")"
> fi
> }
> diff --git a/templates/hooks--applypatch-msg.sample
> b/templates/hooks--applypatch-msg.sample
> index 8b2a2fe..28b843b 100755
> --- a/templates/hooks--applypatch-msg.sample
> +++ b/templates/hooks--applypatch-msg.sample
> @@ -10,6 +10,6 @@
> # To enable this hook, rename this file to "applypatch-msg".
>
> . git-sh-setup
> -test -x "$GIT_DIR/hooks/commit-msg" &&
> - exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"}
> +commitmsg="`git rev-parse --git-path hooks/commit-msg`"
> +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
> :
> diff --git a/templates/hooks--pre-applypatch.sample
> b/templates/hooks--pre-applypatch.sample
> index b1f187c..51aa244 100755
> --- a/templates/hooks--pre-applypatch.sample
> +++ b/templates/hooks--pre-applypatch.sample
> @@ -9,6 +9,6 @@
> # To enable this hook, rename this file to "pre-applypatch".
>
> . git-sh-setup
> -test -x "$GIT_DIR/hooks/pre-commit" &&
> - exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"}
> +precommit="`git rev-parse --git-path hooks/pre-commit`"
> +test -x "$precommit" && exec "$precommit" ${1+"$@"}
> :
> --
> 1.9.0.40.gaa8c3ea
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html