Re: [PATCH v4 12/27] *.sh: avoid hardcoding $GIT_DIR/hooks/...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]