summaryrefslogtreecommitdiff
path: root/git-hooks
diff options
context:
space:
mode:
authorNorbert Thiebaud <nthiebaud@gmail.com>2012-06-13 17:47:38 -0500
committerNorbert Thiebaud <nthiebaud@gmail.com>2012-06-13 17:47:38 -0500
commitbc31fc9c29968d0755b5fda394505ac9ae41fabd (patch)
treeb685397ddc4513bb4595d530a3b24230fcd86df5 /git-hooks
parentf5e1c75333594ea00d8ccdb1c69a7446c06f4ce9 (diff)
be stricter with tab
Change-Id: I17db9db426b10e0cb2148b33dfc9631ea9cb81a4
Diffstat (limited to 'git-hooks')
-rwxr-xr-xgit-hooks/pre-commit106
1 files changed, 60 insertions, 46 deletions
diff --git a/git-hooks/pre-commit b/git-hooks/pre-commit
index 495dc169aea8..5b752a307a11 100755
--- a/git-hooks/pre-commit
+++ b/git-hooks/pre-commit
@@ -21,57 +21,70 @@ sub check_whitespaces($)
my $filename;
my $reported_filename = "";
my $lineno;
- sub bad_line {
- my ($why, $line, $file_filter) = @_;
- if (!defined $file_filter || $filename =~ /\.($file_filter)$/) {
- if (!$found_bad) {
- print STDERR "*\n";
- print STDERR "* You have some suspicious patch lines:\n";
- print STDERR "*\n";
- $found_bad = 1;
- }
- if ($reported_filename ne $filename) {
- print STDERR "* In $filename\n";
- $reported_filename = $filename;
- }
- print STDERR "* $why (line $lineno)\n";
- print STDERR "$filename:$lineno:$line\n";
+ sub bad_line
+ {
+ my ($why, $line, $file_filter) = @_;
+ if (!defined $file_filter || $filename =~ /\.($file_filter)$/)
+ {
+ if (!$found_bad)
+ {
+ print STDERR "*\n";
+ print STDERR "* You have some suspicious patch lines:\n";
+ print STDERR "*\n";
+ $found_bad = 1;
+ }
+ if ($reported_filename ne $filename)
+ {
+ print STDERR "* In $filename\n";
+ $reported_filename = $filename;
+ }
+ print STDERR "* $why (line $lineno)\n";
+ print STDERR "$filename:$lineno:$line\n";
}
}
open( FILES, "git-diff-index -p -M --cached $h |" ) || die "Cannot run git diff-index.";
- while (<FILES>) {
- if (m|^diff --git a/(.*) b/\1$|) {
- $filename = $1;
- next;
- }
- if (/^@@ -\S+ \+(\d+)/) {
- $lineno = $1 - 1;
- next;
- }
- if (/^ /) {
- $lineno++;
- next;
- }
- if (s/^\+//) {
- $lineno++;
- chomp;
- if (/\s$/) {
- bad_line("trailing whitespace", $_ , $src_limited);
- }
- if (/^\s* /) {
- bad_line("indent SP followed by a TAB", $_, $src_limited);
- }
- if (/^(?:[<>=]){7}$/) {
- bad_line("unresolved merge conflict", $src_full);
- }
- if (/SAL_DEBUG/) {
- bad_line("temporary debug in commit", $_, $src_limited);
- }
- }
+ while (<FILES>)
+ {
+ if (m|^diff --git a/(.*) b/\1$|)
+ {
+ $filename = $1;
+ next;
+ }
+ if (/^@@ -\S+ \+(\d+)/)
+ {
+ $lineno = $1 - 1;
+ next;
+ }
+ if (/^ /)
+ {
+ $lineno++;
+ next;
+ }
+ if (s/^\+//)
+ {
+ $lineno++;
+ chomp;
+ if (/\s$/)
+ {
+ bad_line("trailing whitespace", $_ , $src_limited);
+ }
+ if (/\s* /)
+ {
+ bad_line("indent with Tab", $_, $src_limited);
+ }
+ if (/^(?:[<>=]){7}$/)
+ {
+ bad_line("unresolved merge conflict", $src_full);
+ }
+ if (/SAL_DEBUG/)
+ {
+ bad_line("temporary debug in commit", $_, $src_limited);
+ }
+ }
}
if ( $found_bad)
{
- exit($found_bad);
+ exit($found_bad);
}
}
@@ -79,7 +92,8 @@ sub check_whitespaces($)
# Initial commit: diff against an empty tree object
my $against="4b825dc642cb6eb9a060e54bf8d69288fbee4904";
-if ( system( "git rev-parse --verify HEAD >/dev/null 2>&1" ) == 0 ) {
+if ( system( "git rev-parse --verify HEAD >/dev/null 2>&1" ) == 0 )
+{
$against="HEAD"
}