projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] pre-commit sample hook: do not barf on the initial import
[git.git]
/
templates
/
hooks--pre-commit
diff --git
a/templates/hooks--pre-commit
b/templates/hooks--pre-commit
index
4bb6803
..
43d3b6e
100644
(file)
--- a/
templates/hooks--pre-commit
+++ b/
templates/hooks--pre-commit
@@
-10,8
+10,16
@@
# This is slightly modified from Andrew Morton's Perfect Patch.
# Lines you introduce should not have trailing whitespace.
# Also check for an indentation that has SP before a TAB.
# This is slightly modified from Andrew Morton's Perfect Patch.
# Lines you introduce should not have trailing whitespace.
# Also check for an indentation that has SP before a TAB.
+
+if git-rev-parse --verify HEAD 2>/dev/null
+then
+ git-diff-index -p -M --cached HEAD
+else
+ # NEEDSWORK: we should produce a diff with an empty tree here
+ # if we want to do the same verification for the initial import.
+ :
+fi |
perl -e '
perl -e '
- my $fh;
my $found_bad = 0;
my $filename;
my $reported_filename = "";
my $found_bad = 0;
my $filename;
my $reported_filename = "";
@@
-31,8
+39,7
@@
perl -e '
print STDERR "* $why (line $lineno)\n";
print STDERR "$filename:$lineno:$line\n";
}
print STDERR "* $why (line $lineno)\n";
print STDERR "$filename:$lineno:$line\n";
}
- open $fh, "-|", qw(git-diff-index -p -M --cached HEAD);
- while (<$fh>) {
+ while (<>) {
if (m|^diff --git a/(.*) b/\1$|) {
$filename = $1;
next;
if (m|^diff --git a/(.*) b/\1$|) {
$filename = $1;
next;