"Julian Prein via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Julian Prein <druckdev@xxxxxxxxxxxxxx> > > Currently the diff-filter that is used to check for non-ASCII characters > in filenames only checks new additions. > > Extend the diff-filter in the pre-commit sample to include `CR` as well. > This way non-ASCII character in filenames are detected on a rename/copy > as well. It would probably be a better implementation to disable the rename detection, instead of adding Copies and Renames. > Signed-off-by: Julian Prein <druckdev@xxxxxxxxxxxxxx> > --- > hooks--pre-commit: detect non-ASCII when renaming > > Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1291%2Fdruckdev%2Fpre-commit-renames-v1 > Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1291/druckdev/pre-commit-renames-v1 > Pull-Request: https://github.com/git/git/pull/1291 > > templates/hooks--pre-commit.sample | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/templates/hooks--pre-commit.sample b/templates/hooks--pre-commit.sample > index e144712c85c..95c327832da 100755 > --- a/templates/hooks--pre-commit.sample > +++ b/templates/hooks--pre-commit.sample > @@ -28,7 +28,7 @@ if [ "$allownonascii" != "true" ] && > # Note that the use of brackets around a tr range is ok here, (it's > # even required, for portability to Solaris 10's /usr/bin/tr), since > # the square bracket bytes happen to fall in the designated range. > - test $(git diff --cached --name-only --diff-filter=A -z $against | > + test $(git diff --cached --name-only --diff-filter=ACR -z $against | > LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 > then > cat <<\EOF > > base-commit: bbea4dcf42b28eb7ce64a6306cdde875ae5d09ca