Alex Riesen wrote: > On Mon, Sep 21, 2009 at 11:09, Jim Meyering <jim@xxxxxxxxxxxx> wrote: >> However, if the use of [] is deliberate, because git still >> cares about portability to ancient SYSV versions of tr that >> require that notation, then let me know and I'll undo that part >> of the change and add a comment to that effect. > > We have (had?) people trying to support Git on HP-UX and SunOS. > Do these count? I had my doubts, but have just confirmed that Solaris 10's /usr/bin/tr is still doing it the SYSV way: $ echo foo | LC_ALL=C /usr/bin/tr a-z A-Z foo There, you have to use /usr/xpg4/bin/tr to get the expected behavior: $ echo foo | LC_ALL=C /usr/xpg4/bin/tr a-z A-Z FOO So you're right. Thanks! Here's an updated patch: >From 4048a5b393fa5f35dfe8157e98a6ea475b0efb2d Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyering@xxxxxxxxxx> Date: Mon, 21 Sep 2009 10:58:02 +0200 Subject: [PATCH] pre-commit.sample: add comment re tr portability; fix grammar Add a comment explaining why square brackets around a tr range are not only ok, but actually required in this case. Correct spelling and grammar. Signed-off-by: Jim Meyering <meyering@xxxxxxxxxx> --- templates/hooks--pre-commit.sample | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-) diff --git a/templates/hooks--pre-commit.sample b/templates/hooks--pre-commit.sample index b11ad6a..128c8cc 100755 --- a/templates/hooks--pre-commit.sample +++ b/templates/hooks--pre-commit.sample @@ -14,15 +14,18 @@ allownonascii=$(git config hooks.allownonascii) # 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" ] && + # 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 | LC_ALL=C tr -d '[ -~]\0')" then - echo "Error: Attempt to add a non-ascii filename." + echo "Error: Attempt to add a non-ascii file name." echo - echo "This can cause problems if you want to work together" - echo "with people on other platforms than you." + echo "This can cause problems if you want to work" + echo "with people on other platforms." echo - echo "To be portable it is adviseable to rename the file ..." + echo "To be portable it is advisable to rename the file ..." echo echo "If you know what you are doing you can disable this" echo "check using:" -- 1.6.5.rc1.214.g13c5a -- 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