* [PATCH] pre-commit.sample: Diff against the empty tree when HEAD is invalid
@ 2009-11-05 10:57 Björn Steinbrink
2009-11-06 17:11 ` Heiko Voigt
0 siblings, 1 reply; 2+ messages in thread
From: Björn Steinbrink @ 2009-11-05 10:57 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Heiko Voigt, git
This was already the case for the old "diff --check" call, but the new
one that checks whether there are any non-ascii file names was missing
it, making that check fail for root commits.
Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
---
templates/hooks--pre-commit.sample | 18 +++++++++---------
1 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/templates/hooks--pre-commit.sample b/templates/hooks--pre-commit.sample
index 043970a..439eefd 100755
--- a/templates/hooks--pre-commit.sample
+++ b/templates/hooks--pre-commit.sample
@@ -7,6 +7,14 @@
#
# To enable this hook, rename this file to "pre-commit".
+if git-rev-parse --verify HEAD >/dev/null 2>&1
+then
+ against=HEAD
+else
+ # Initial commit: diff against an empty tree object
+ against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
+fi
+
# If you want to allow non-ascii filenames set this variable to true.
allownonascii=$(git config hooks.allownonascii)
@@ -17,7 +25,7 @@ if [ "$allownonascii" != "true" ] &&
# Note that the use of brackets around a tr range is ok here, (it's
# even required, for portability to Solaris 10's /usr/bin/tr), since
# the square bracket bytes happen to fall in the designated range.
- test "$(git diff --cached --name-only --diff-filter=A -z |
+ test "$(git diff --cached --name-only --diff-filter=A -z $against |
LC_ALL=C tr -d '[ -~]\0')"
then
echo "Error: Attempt to add a non-ascii file name."
@@ -35,12 +43,4 @@ then
exit 1
fi
-if git-rev-parse --verify HEAD >/dev/null 2>&1
-then
- against=HEAD
-else
- # Initial commit: diff against an empty tree object
- against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
-fi
-
exec git diff-index --check --cached $against --
--
1.6.5.2.143.g8cc62
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] pre-commit.sample: Diff against the empty tree when HEAD is invalid
2009-11-05 10:57 [PATCH] pre-commit.sample: Diff against the empty tree when HEAD is invalid Björn Steinbrink
@ 2009-11-06 17:11 ` Heiko Voigt
0 siblings, 0 replies; 2+ messages in thread
From: Heiko Voigt @ 2009-11-06 17:11 UTC (permalink / raw)
To: Björn Steinbrink; +Cc: Junio C Hamano, git
Hallo,
On Thu, Nov 05, 2009 at 11:57:57AM +0100, Björn Steinbrink wrote:
> This was already the case for the old "diff --check" call, but the new
> one that checks whether there are any non-ascii file names was missing
> it, making that check fail for root commits.
>
> Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
[...]
> - test "$(git diff --cached --name-only --diff-filter=A -z |
> + test "$(git diff --cached --name-only --diff-filter=A -z $against |
Looks sensible to me. Thanks for that fix.
As this went unnoticed for quite some time it seems as either not many
are actually using our example hook or at least not starting new
projects with it. I fit in the latter group I suppose.
cheers Heiko
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-11-06 17:11 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-05 10:57 [PATCH] pre-commit.sample: Diff against the empty tree when HEAD is invalid Björn Steinbrink
2009-11-06 17:11 ` Heiko Voigt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox