From: Marco Nenciarini Date: Tue, 03 Jan 2023 18:13:03 GMT Subject: Re: BUG: git grep behave oddly with alternatives Message-ID: <1f61b660-b2d0-ba93-3182-05a9ab97b00e@enterprisedb.com> In-Reply-To: <634f47a8-b370-81cb-00e7-d93ffc7534a8@web.de> On 03/01/23 17:29, René Scharfe wrote: > Am 03.01.23 um 10:53 schrieb Marco Nenciarini: >> I've installed latest git from brew and suddenly git grep started behaving oddly when using alternatives. >> >> ``` >> $ echo abd > test.file >> $ git grep --untracked 'a\(b\|c\)d' test.file >> $ git grep --untracked 'a\(b\)d' test.file >> test.file:abd >> ``` >> >> It should have matched in both cases. >> >> >> If I switch to exented pattern it starts working again >> >> ``` >> $ git grep --untracked -E 'a(b|c)d' test.file >> test.file:abd >> ``` > > This is expected: Basic regular expressions don't support alternation. > > Under which circumstances did it work for you without -E or -P? > It has always worked until I installed 2.39.0 on my mac. I've also checked with other developers that are using a mac and they reports the same. On Linux it works regardless the git version. Using grep directly also works, so it is a different behavior between grep and git grep, that is surprising. >> >> [System Info] >> git version: >> git version 2.39.0 >> cpu: x86_64 >> no commit associated with this build >> sizeof-long: 8 >> sizeof-size_t: 8 >> shell-path: /bin/sh >> feature: fsmonitor--daemon >> uname: Darwin 22.2.0 Darwin Kernel Version 22.2.0: Fri Nov 11 02:08:47 PST 2022; root:xnu-8792.61.2~4/RELEASE_X86_64 x86_64 >> compiler info: clang: 14.0.0 (clang-1400.0.29.202) >> libc info: no libc information available >> $SHELL (typically, interactive shell): /usr/local/bin/bash >> >> > -- Marco Nenciarini - EnterpriseDB marco.nenciarini@enterprisedb.com | www.enterprisedb.com