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

Re: [PATCH v2 1/3] git-submodule: New subcommand 'summary' (1) - code framework

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 1, 2008, 20:52 UTC
Message-ID
<7vejauxj38.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<46dff0320803010227r5024d152g259a6a07a2441351@mail.gmail.com>
"Ping Yin" <pkufranky@gmail.com> writes:
Show 13 quoted lines
>>  > +             grep '^:160000\|:[0-9]\+ 160000' |
>>
>>  This looks troublesome.
>>
>>   - [0-9] is obviously wrong and [0-7] is what you meant;
>>   - \| and \+ are not BRE but GNU.
>>
> man grep says
>  In  basic regular expressions the metacharacters ?, +, {, |, (, and )
> lose their special meaning; instead use the backslashed versions \?,
> \+, \{, \|, \(, and \).
>
> Doen't it mean that '\|' is BRE ?

It just says unlike in ERE, these characters are not special in BRE; it does not at all say using backslash like \?, \+, and \| makes them so.

And they are not. \(...\), \{m\}, \{m,\} and \{m,n\} are part of BRE, but the two you used (\+ and \|) are not. GNU accept these two as extensions, but other POSIX implementations may have troubles with them.

  http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap09.html

Please be gentle to porters to non GNU systems. Either stay inside BRE (which I think we have managed to do with our usage of grep) or explicitly ask for ERE with "grep -E".

Previous: Ping YinNext: Junio C Hamano
Message 16 of 20 in “git-submodule: New subcommand 'summary'”
  1. 0/3 git-submodule: New subcommand 'summary'Ping Yin, Feb 29, 2008
  2. 1/3 git-submodule: New subcommand 'summary' (1) - code frameworkPing Yin, Feb 29, 2008
  3. 2/3 git-submodule: New subcommand 'summary' (2) - hard workPing Yin, Feb 29, 2008
  4. 3/3 git-submodule: New subcommand 'summary' (3) - limit summary sizePing Yin, Feb 29, 2008
  5. Junio C HamanoMar 1, 2008
  6. Ping YinMar 1, 2008
  7. Junio C HamanoMar 1, 2008
  8. Junio C HamanoMar 1, 2008
  9. Ping YinMar 1, 2008
  10. Ping YinMar 7, 2008
  11. Jakub NarebskiMar 7, 2008
  12. Ping YinMar 7, 2008
  13. Junio C HamanoMar 7, 2008
  14. Junio C HamanoMar 1, 2008
  15. Ping YinMar 1, 2008
  16. Junio C HamanoMar 1, 2008
  17. Junio C HamanoMar 2, 2008
  18. Ping YinMar 2, 2008
  19. Ping YinMar 1, 2008
  20. Ping YinMar 1, 2008

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.