git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] pre-commit.sample: don't use [...] around a tr range

From
Jeff King <peff@peff.net>
Date
Sep 21, 2009, 13:44 UTC
Message-ID
<20090921134427.GA20567@sigio.peff.net>
In-Reply-To
<87ocp4imul.fsf@meyering.net>
On Mon, Sep 21, 2009 at 01:00:34PM +0200, Jim Meyering wrote:
Show 15 quoted lines
> > 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!
See:
  http://article.gmane.org/gmane.comp.version-control.git/76991
Show 5 quoted lines
> +	# 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')"

Does this work on non-bracket systems? I would think that enumerating the sequence would be the most portable thing.

-Peff
Previous: Alex RiesenNext: Jim Meyering
Message 5 of 9 in “pre-commit.sample: don't use [...] around a tr range”
  1. pre-commit.sample: don't use [...] around a tr rangeJim Meyering, Sep 21, 2009
  2. Alex RiesenSep 21, 2009
  3. Jim MeyeringSep 21, 2009
  4. Alex RiesenSep 21, 2009
  5. Jeff KingSep 21, 2009
  6. Jim MeyeringSep 21, 2009
  7. Jeff KingSep 21, 2009
  8. Brandon CaseySep 21, 2009
  9. Jeff KingSep 24, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.