diff options
Diffstat (limited to 'spec/fixtures/test.git/git/hooks/pre-commit.sample')
-rwxr-xr-x | spec/fixtures/test.git/git/hooks/pre-commit.sample | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/spec/fixtures/test.git/git/hooks/pre-commit.sample b/spec/fixtures/test.git/git/hooks/pre-commit.sample new file mode 100755 index 0000000..6a75641 --- /dev/null +++ b/spec/fixtures/test.git/git/hooks/pre-commit.sample | |||
@@ -0,0 +1,49 @@ | |||
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, rename this file to "pre-commit". | ||
9 | |||
10 | if git rev-parse --verify HEAD >/dev/null 2>&1 | ||
11 | then | ||
12 | against=HEAD | ||
13 | else | ||
14 | # Initial commit: diff against an empty tree object | ||
15 | against=$(git hash-object -t tree /dev/null) | ||
16 | fi | ||
17 | |||
18 | # If you want to allow non-ASCII filenames set this variable to true. | ||
19 | allownonascii=$(git config --bool hooks.allownonascii) | ||
20 | |||
21 | # Redirect output to stderr. | ||
22 | exec 1>&2 | ||
23 | |||
24 | # Cross platform projects tend to avoid non-ASCII filenames; prevent | ||
25 | # them from being added to the repository. We exploit the fact that the | ||
26 | # printable range starts at the space character and ends with tilde. | ||
27 | if [ "$allownonascii" != "true" ] && | ||
28 | # Note that the use of brackets around a tr range is ok here, (it's | ||
29 | # even required, for portability to Solaris 10's /usr/bin/tr), since | ||
30 | # the square bracket bytes happen to fall in the designated range. | ||
31 | test $(git diff --cached --name-only --diff-filter=A -z $against | | ||
32 | LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 | ||
33 | then | ||
34 | cat <<\EOF | ||
35 | Error: Attempt to add a non-ASCII file name. | ||
36 | |||
37 | This can cause problems if you want to work with people on other platforms. | ||
38 | |||
39 | To be portable it is advisable to rename the file. | ||
40 | |||
41 | If you know what you are doing you can disable this check using: | ||
42 | |||
43 | git config hooks.allownonascii true | ||
44 | EOF | ||
45 | exit 1 | ||
46 | fi | ||
47 | |||
48 | # If there are whitespace errors, print the offending file names and fail. | ||
49 | exec git diff-index --check --cached $against -- | ||