X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=templates%2Fhooks--pre-commit.sample;h=b11ad6a6fbab9242a2dac157ee1a55875954b95a;hb=59773c7e583b1dcf4b63c4ee222b79cef460456b;hp=0e49279c7f7b805c78f1bc4760a0d1c70a84a0d9;hpb=75b44066f3ed7cde238cdea1f0bf9e2f1744c820;p=git.git diff --git a/templates/hooks--pre-commit.sample b/templates/hooks--pre-commit.sample index 0e49279c7..b11ad6a6f 100755 --- a/templates/hooks--pre-commit.sample +++ b/templates/hooks--pre-commit.sample @@ -7,7 +7,32 @@ # # To enable this hook, rename this file to "pre-commit". -if git-rev-parse --verify HEAD 2>/dev/null +# If you want to allow non-ascii filenames set this variable to true. +allownonascii=$(git config hooks.allownonascii) + +# Cross platform projects tend to avoid non-ascii filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + test "$(git diff --cached --name-only --diff-filter=A -z | + LC_ALL=C tr -d '[ -~]\0')" +then + echo "Error: Attempt to add a non-ascii filename." + echo + echo "This can cause problems if you want to work together" + echo "with people on other platforms than you." + echo + echo "To be portable it is adviseable to rename the file ..." + echo + echo "If you know what you are doing you can disable this" + echo "check using:" + echo + echo " git config hooks.allownonascii true" + echo + exit 1 +fi + +if git-rev-parse --verify HEAD >/dev/null 2>&1 then against=HEAD else