Am 15.06.2016 um 13:15 schrieb Thomas Braun: > Am 15.06.2016 um 10:02 schrieb dexteritas: >> After the ASCII-check, test the windows compatibility of file names. >> Can be disabled by: >> git config hooks.allownonwindowschars true >> --- >> templates/hooks--pre-commit.sample | 22 ++++++++++++++++++++++ >> 1 file changed, 22 insertions(+) >> >> diff --git a/templates/hooks--pre-commit.sample b/templates/hooks--pre-commit.sample >> index 68d62d5..120daf1 100755 >> --- a/templates/hooks--pre-commit.sample >> +++ b/templates/hooks--pre-commit.sample >> @@ -17,6 +17,7 @@ fi >> >> # If you want to allow non-ASCII filenames set this variable to true. >> allownonascii=$(git config --bool hooks.allownonascii) >> +allownonwindowschars=$(git config --bool hooks.allownonwindowschars) >> >> # Redirect output to stderr. >> exec 1>&2 >> @@ -43,6 +44,27 @@ If you know what you are doing you can disable this check using: >> git config hooks.allownonascii true >> EOF >> exit 1 >> +elif [ "$allownonwindowschars" != "true" ] && >> + # If you work with linux and windows, there is a problem, if you use >> + # chars like \ / : * ? " < > | >> + # Check if there are used only windows compatible chars >> + test $(git diff --cached --name-only --diff-filter=A -z $against | >> + LC_ALL=C tr -d '[0-9A-Za-z\[\]\{\}_ -)+-.]\0' | wc -c) != 0 >> +then >> + cat <<\EOF >> +Error: Attempt to add a chars that are not allowed for a windows file name. >> + >> +This can cause problems if you want to work with people on other platforms. >> + >> +To be portable it is advisable to rename the file. >> + >> +Check your filenames for: \ / : * ? " < > | >> + >> +If you know what you are doing you can disable this check using: >> + >> + git config hooks.allownonwindowschars true >> +EOF >> + exit 2 >> fi >> >> # If there are whitespace errors, print the offending file names and fail. > There are some cases of illegal file names missing. E.g. reserved names, > trailing period and space. My trial with a precommit hook for avoiding > illegal filenames on windows can be found at [1]. Feel free to loot my > version for a reroll. > > [1]: > https://github.com/t-b/git-pre-commit-hook-windows-filenames/blob/master/pre-commit > You're right. Thanks for the example. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html