projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'fix'
[git.git]
/
templates
/
hooks--pre-commit
diff --git
a/templates/hooks--pre-commit
b/templates/hooks--pre-commit
index
dad99bc
..
723a9ef
100644
(file)
--- a/
templates/hooks--pre-commit
+++ b/
templates/hooks--pre-commit
@@
-1,7
+1,7
@@
#!/bin/sh
#
# An example hook script to verify what is about to be committed.
#!/bin/sh
#
# An example hook script to verify what is about to be committed.
-# Called by git-commit
-script
with no arguments. The hook should
+# Called by git-commit with no arguments. The hook should
# exit with non-zero status after issuing an appropriate message if
# it wants to stop the commit.
#
# exit with non-zero status after issuing an appropriate message if
# it wants to stop the 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 = "";
@@
-19,20
+27,19
@@
perl -e '
sub bad_line {
my ($why, $line) = @_;
if (!$found_bad) {
sub bad_line {
my ($why, $line) = @_;
if (!$found_bad) {
- print "*\n";
- print "* You have some suspicious patch lines:\n";
- print "*\n";
+ print
STDERR
"*\n";
+ print
STDERR
"* You have some suspicious patch lines:\n";
+ print
STDERR
"*\n";
$found_bad = 1;
}
if ($reported_filename ne $filename) {
$found_bad = 1;
}
if ($reported_filename ne $filename) {
- print "* In $filename\n";
+ print
STDERR
"* In $filename\n";
$reported_filename = $filename;
}
$reported_filename = $filename;
}
- print "* $why (line $lineno)\n";
- print "$filename:$lineno:$line\n";
+ print
STDERR
"* $why (line $lineno)\n";
+ print
STDERR
"$filename:$lineno:$line\n";
}
}
- open $fh, "-|", qw(git-diff-cache -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;
@@
-54,6
+61,9
@@
perl -e '
if (/^\s* /) {
bad_line("indent SP followed by a TAB", $_);
}
if (/^\s* /) {
bad_line("indent SP followed by a TAB", $_);
}
+ if (/^(?:[<>=]){7}/) {
+ bad_line("unresolved merge conflict", $_);
+ }
}
}
exit($found_bad);
}
}
exit($found_bad);