source: trunk/puppet/modules/puppet-network/.git/hooks/pre-commit @ 521

Last change on this file since 521 was 510, checked in by sebas, 15 years ago

fork del modulo network de Koumbit

File size: 1.7 KB
Line 
1#!/bin/sh
2#
3# An example hook script to verify what is about to be committed.
4# Called by git-commit with no arguments.  The hook should
5# exit with non-zero status after issuing an appropriate message if
6# it wants to stop the commit.
7#
8# To enable this hook, make this file executable.
9
10# This is slightly modified from Andrew Morton's Perfect Patch.
11# Lines you introduce should not have trailing whitespace.
12# Also check for an indentation that has SP before a TAB.
13
14if git-rev-parse --verify HEAD 2>/dev/null
15then
16        git-diff-index -p -M --cached HEAD --
17else
18        # NEEDSWORK: we should produce a diff with an empty tree here
19        # if we want to do the same verification for the initial import.
20        :
21fi |
22perl -e '
23    my $found_bad = 0;
24    my $filename;
25    my $reported_filename = "";
26    my $lineno;
27    sub bad_line {
28        my ($why, $line) = @_;
29        if (!$found_bad) {
30            print STDERR "*\n";
31            print STDERR "* You have some suspicious patch lines:\n";
32            print STDERR "*\n";
33            $found_bad = 1;
34        }
35        if ($reported_filename ne $filename) {
36            print STDERR "* In $filename\n";
37            $reported_filename = $filename;
38        }
39        print STDERR "* $why (line $lineno)\n";
40        print STDERR "$filename:$lineno:$line\n";
41    }
42    while (<>) {
43        if (m|^diff --git a/(.*) b/\1$|) {
44            $filename = $1;
45            next;
46        }
47        if (/^@@ -\S+ \+(\d+)/) {
48            $lineno = $1 - 1;
49            next;
50        }
51        if (/^ /) {
52            $lineno++;
53            next;
54        }
55        if (s/^\+//) {
56            $lineno++;
57            chomp;
58            if (/\s$/) {
59                bad_line("trailing whitespace", $_);
60            }
61            if (/^\s* \t/) {
62                bad_line("indent SP followed by a TAB", $_);
63            }
64            if (/^([<>])\1{6} |^={7}$/) {
65                bad_line("unresolved merge conflict", $_);
66            }
67        }
68    }
69    exit($found_bad);
70'
Note: See TracBrowser for help on using the repository browser.