Re: Why does "git log -G<regex>" works with "regexp-ignore-case" but not with other regexp-related options?
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 20, 2015, 18:44 UTC
- Message-ID
- <xmqqtwwaljwb.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <CA+55aFzdSgvYo11PHamkOVASz61RUq26+s0na0Zh2RRwsEkrMg@mail.gmail.com>
Linus Torvalds <torvalds@linux-foundation.org> writes:
Show 10 quoted lines
> And to clarify: I don't suggest always building with libpcre. I
> literally suggest having something like
>
> /* hacky mac-hack hack */
> if (strncmp("(?i)", p->pattern, 4)) {
> p->pattern += 4;
> p->ignore_case = true;
> }
>
> just in front of the "regcomp() call, and nothing more fancy than that.Yeah, looking at the way grep.c:compile_regexp() is structured, we are already prepared to allow
$ git log --grep='(?i)torvalds' --grep='Linus'
that wants to find one piece of text case insensitively while another case sensitively in the same text (i.e. the log message part), so per-pattern customization may be a good way to do this.