From: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
"Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Subject: [PATCH v6 15/32] *.sh: avoid hardcoding $GIT_DIR/hooks/...
Date: Wed, 9 Jul 2014 14:33:00 +0700 [thread overview]
Message-ID: <1404891197-18067-16-git-send-email-pclouds@gmail.com> (raw)
In-Reply-To: <1404891197-18067-1-git-send-email-pclouds@gmail.com>
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@gmail.com>
---
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 ee61a77..66803d1 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -810,10 +810,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)"
+ 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"
@@ -887,9 +887,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) &&
@@ -916,18 +917,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 7e1eda0..e8995f9 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -642,9 +642,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 d3fb67d..2cc2a6d 100644
--- a/git-rebase--merge.sh
+++ b/git-rebase--merge.sh
@@ -94,10 +94,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 06c810b..d60e710 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -201,9 +201,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..a5d7b84 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..4142082 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.1.346.ga2b5940
next prev parent reply other threads:[~2014-07-09 7:34 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-09 7:32 [PATCH v6 00/32] Support multiple checkouts Nguyễn Thái Ngọc Duy
2014-07-09 7:32 ` [PATCH v6 01/32] path.c: make get_pathname() return strbuf instead of static buffer Nguyễn Thái Ngọc Duy
2014-07-09 7:32 ` [PATCH v6 02/32] path.c: make get_pathname() call sites return const char * Nguyễn Thái Ngọc Duy
2014-07-09 7:32 ` [PATCH v6 03/32] git_snpath(): retire and replace with strbuf_git_path() Nguyễn Thái Ngọc Duy
2014-07-09 7:32 ` [PATCH v6 04/32] path.c: rename vsnpath() to do_git_path() Nguyễn Thái Ngọc Duy
2014-07-09 7:32 ` [PATCH v6 05/32] path.c: group git_path(), git_pathdup() and strbuf_git_path() together Nguyễn Thái Ngọc Duy
2014-07-09 7:32 ` [PATCH v6 06/32] setup_git_env: use git_pathdup instead of xmalloc + sprintf Nguyễn Thái Ngọc Duy
2014-07-09 7:32 ` [PATCH v6 07/32] setup_git_env(): introduce git_path_from_env() helper Nguyễn Thái Ngọc Duy
2014-07-09 7:32 ` [PATCH v6 08/32] git_path(): be aware of file relocation in $GIT_DIR Nguyễn Thái Ngọc Duy
2014-07-09 7:32 ` [PATCH v6 09/32] *.sh: respect $GIT_INDEX_FILE Nguyễn Thái Ngọc Duy
2014-07-09 7:32 ` [PATCH v6 10/32] reflog: avoid constructing .lock path with git_path Nguyễn Thái Ngọc Duy
2014-07-09 7:32 ` [PATCH v6 11/32] fast-import: use git_path() for accessing .git dir instead of get_git_dir() Nguyễn Thái Ngọc Duy
2014-07-09 7:32 ` [PATCH v6 12/32] commit: use SEQ_DIR instead of hardcoding "sequencer" Nguyễn Thái Ngọc Duy
2014-07-09 7:32 ` [PATCH v6 13/32] $GIT_COMMON_DIR: a new environment variable Nguyễn Thái Ngọc Duy
2014-07-09 7:32 ` [PATCH v6 14/32] git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects Nguyễn Thái Ngọc Duy
2014-07-09 7:33 ` Nguyễn Thái Ngọc Duy [this message]
2014-07-09 7:33 ` [PATCH v6 16/32] git-stash: avoid hardcoding $GIT_DIR/logs/ Nguyễn Thái Ngọc Duy
2014-07-09 7:33 ` [PATCH v6 17/32] setup.c: convert is_git_directory() to use strbuf Nguyễn Thái Ngọc Duy
2014-07-09 7:33 ` [PATCH v6 18/32] setup.c: detect $GIT_COMMON_DIR in is_git_directory() Nguyễn Thái Ngọc Duy
2014-07-09 7:33 ` [PATCH v6 19/32] setup.c: convert check_repository_format_gently to use strbuf Nguyễn Thái Ngọc Duy
2014-07-09 7:33 ` [PATCH v6 20/32] setup.c: detect $GIT_COMMON_DIR check_repository_format_gently() Nguyễn Thái Ngọc Duy
2014-07-09 7:33 ` [PATCH v6 21/32] setup.c: support multi-checkout repo setup Nguyễn Thái Ngọc Duy
2014-07-09 7:33 ` [PATCH v6 22/32] wrapper.c: wrapper to open a file, fprintf then close Nguyễn Thái Ngọc Duy
2014-07-09 7:33 ` [PATCH v6 23/32] use new wrapper write_file() for simple file writing Nguyễn Thái Ngọc Duy
2014-07-09 7:33 ` [PATCH v6 24/32] checkout: support checking out into a new working directory Nguyễn Thái Ngọc Duy
2014-07-09 7:33 ` [PATCH v6 25/32] checkout: clean up half-prepared directories in --to mode Nguyễn Thái Ngọc Duy
2014-07-09 7:33 ` [PATCH v6 26/32] checkout: detach if the branch is already checked out elsewhere Nguyễn Thái Ngọc Duy
2014-07-12 12:21 ` Max Kirillov
2014-07-09 7:33 ` [PATCH v6 27/32] prune: strategies for linked checkouts Nguyễn Thái Ngọc Duy
2014-07-09 11:24 ` Eric Sunshine
2014-07-09 7:33 ` [PATCH v6 28/32] gc: style change -- no SP before closing bracket Nguyễn Thái Ngọc Duy
2014-07-09 9:47 ` Eric Sunshine
2014-07-14 4:40 ` Junio C Hamano
2014-07-09 7:33 ` [PATCH v6 29/32] gc: support prune --repos Nguyễn Thái Ngọc Duy
2014-07-09 10:05 ` Eric Sunshine
2014-07-09 7:33 ` [PATCH v6 30/32] count-objects: report unused files in $GIT_DIR/repos/ Nguyễn Thái Ngọc Duy
2014-07-09 7:33 ` [PATCH v6 31/32] git_path(): keep "info/sparse-checkout" per work-tree Nguyễn Thái Ngọc Duy
2014-07-09 7:33 ` [PATCH v6 32/32] checkout: don't require a work tree when checking out into a new one Nguyễn Thái Ngọc Duy
2014-07-11 7:13 ` [PATCH v6 00/32] Support multiple checkouts Dennis Kaarsemaker
2014-07-13 4:50 ` [PATCH v7 00/31] " Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 01/31] path.c: make get_pathname() return strbuf instead of static buffer Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 02/31] path.c: make get_pathname() call sites return const char * Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 03/31] git_snpath(): retire and replace with strbuf_git_path() Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 04/31] path.c: rename vsnpath() to do_git_path() Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 05/31] path.c: group git_path(), git_pathdup() and strbuf_git_path() together Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 06/31] git_path(): be aware of file relocation in $GIT_DIR Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 07/31] *.sh: respect $GIT_INDEX_FILE Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 08/31] reflog: avoid constructing .lock path with git_path Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 09/31] fast-import: use git_path() for accessing .git dir instead of get_git_dir() Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 10/31] commit: use SEQ_DIR instead of hardcoding "sequencer" Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 11/31] $GIT_COMMON_DIR: a new environment variable Nguyễn Thái Ngọc Duy
2014-07-23 5:21 ` Eric Sunshine
2014-07-13 4:50 ` [PATCH v7 12/31] git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 13/31] *.sh: avoid hardcoding $GIT_DIR/hooks/ Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 14/31] git-stash: avoid hardcoding $GIT_DIR/logs/ Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 15/31] setup.c: convert is_git_directory() to use strbuf Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 16/31] setup.c: detect $GIT_COMMON_DIR in is_git_directory() Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 17/31] setup.c: convert check_repository_format_gently to use strbuf Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 18/31] setup.c: detect $GIT_COMMON_DIR check_repository_format_gently() Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 19/31] setup.c: support multi-checkout repo setup Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 20/31] wrapper.c: wrapper to open a file, fprintf then close Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 21/31] use new wrapper write_file() for simple file writing Nguyễn Thái Ngọc Duy
2014-07-13 4:50 ` [PATCH v7 22/31] checkout: support checking out into a new working directory Nguyễn Thái Ngọc Duy
2014-07-17 4:19 ` Max Kirillov
2014-07-17 6:37 ` Junio C Hamano
2014-07-18 4:10 ` Eric Sunshine
2014-07-13 4:51 ` [PATCH v7 23/31] checkout: clean up half-prepared directories in --to mode Nguyễn Thái Ngọc Duy
2014-07-20 23:55 ` Eric Sunshine
2014-07-21 3:34 ` Eric Sunshine
2014-07-23 8:02 ` Duy Nguyen
2014-07-13 4:51 ` [PATCH v7 24/31] checkout: detach if the branch is already checked out elsewhere Nguyễn Thái Ngọc Duy
2014-07-13 4:51 ` [PATCH v7 25/31] prune: strategies for linked checkouts Nguyễn Thái Ngọc Duy
2014-07-18 18:17 ` Thomas Rast
2014-07-19 12:52 ` Duy Nguyen
2014-07-13 4:51 ` [PATCH v7 26/31] gc: style change -- no SP before closing bracket Nguyễn Thái Ngọc Duy
2014-07-13 4:51 ` [PATCH v7 27/31] gc: factor out gc.pruneexpire parsing code Nguyễn Thái Ngọc Duy
2014-07-13 4:51 ` [PATCH v7 28/31] gc: support prune --repos Nguyễn Thái Ngọc Duy
2014-07-13 4:51 ` [PATCH v7 29/31] count-objects: report unused files in $GIT_DIR/repos/ Nguyễn Thái Ngọc Duy
2014-07-13 4:51 ` [PATCH v7 30/31] git_path(): keep "info/sparse-checkout" per work-tree Nguyễn Thái Ngọc Duy
2014-07-13 4:51 ` [PATCH v7 31/31] checkout: don't require a work tree when checking out into a new one Nguyễn Thái Ngọc Duy
2014-07-14 4:45 ` [PATCH v7 00/31] Support multiple checkouts Junio C Hamano
2014-07-14 11:06 ` Duy Nguyen
2014-07-14 17:05 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1404891197-18067-16-git-send-email-pclouds@gmail.com \
--to=pclouds@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).