Re: macOS git grep change in required character classes

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

 



Even though the grep that ships with macOS is GNU compatible?

$ which grep
/usr/bin/grep
$ grep -V
grep (BSD grep) 2.5.1-FreeBSD
$ grep -E \\btest\\b test.pl
sub test { return; }

So, it isn't quite true that it makes it like other tools, especially
the most analogous tool, grep itself.

I think it would be a reasonable expectation that git grep and system
grep behave in the same manner.

On Sat, Apr 1, 2023 at 12:27 PM Junio C Hamano <gitster@xxxxxxxxx> wrote:
>
> Matt Gardner <four712@xxxxxxxxx> writes:
>
> > My best guess is that
> > https://github.com/git/git/commit/1819ad327b7a1f19540a819813b70a0e8a7f798f
> > is causing git grep -E to require BSD style regular expression
> > character classes.  I don't know if this is a bug or an unadvertised
> > change in behavior.
>
> I think you diagnosed it correctly.  The story is "Once upon a time,
> we declared that the regex library of macOS is so broken and
> unusable.  We used a fallback definition to work it around, but
> unfortunately the fallback library did not support multi-byte
> matching correctly, which made some folks on macOS unhappy.  So we
> let Git built with the regex library shipped with macOS starting
> that commit, with one side effect that patterns you would feed Git
> on that platform would behave more like patterns you give to other
> tools on the platform."
>
> So, it is not a bug in Git, it is a deliberate change in behaviour
> with unintended consequences X-<.
>




[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