On Sat, Mar 1, 2014 at 7:12 AM, Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> 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 <pclouds@xxxxxxxxx> > --- > 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 majordomo@xxxxxxxxxxxxxxx > 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html