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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"Ping Yin" <pkufranky@xxxxxxxxx> writes:

>>  > +             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".
--
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux