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

Re: [PATCH/RFC] blame: respect "core.ignorecase"

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 10, 2012, 23:07 UTC
Message-ID
<7v4nn5lbom.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20120910214152.GA2139@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
> But I would think for that particular use case, you would not want to do
> a per-glob prefix for that, but would rather use a command-line switch.
Yes.

Even though it is not listed as possible future semantics, one thing that we may want to have before all others is ":(negate)", so that we can say something like:

    git log -- '*.c' ':(negate)compat/"

I do not offhand recall what we decided during the last discussion on the topic, but IIRC, the concensus was that it will make the code too complex and general case unusably slow to support 'or', 'and', and 'not' operators between pathspec elements (e.g. "*.c" or "*.h" files but not in "compat/" directory, unless ...) in a general way, and it would be sufficient to support negation by:

 - first grouping pathspec elements into two bins (i.e. normal
   patterns and negative patterns);
 - doing the usual path limiting using only the normal patterns;
 - among the paths that match one of the normal patterns, rejecting
   the ones that match one of the negative patterns.
or something like that.
Previous: Jeff King
Message 12 of 12 in “blame: respect "core.ignorecase"”
  1. blame: respect "core.ignorecase"Ralf Thielow, Sep 9, 2012
  2. Johannes SixtSep 9, 2012
  3. Junio C HamanoSep 9, 2012
  4. Junio C HamanoSep 9, 2012
  5. blame: allow "blame file" in the middle of a conflicted mergeJunio C Hamano, Sep 11, 2012
  6. Ralf ThielowSep 10, 2012
  7. Jeff KingSep 10, 2012
  8. Junio C HamanoSep 10, 2012
  9. Jeff KingSep 10, 2012
  10. Junio C HamanoSep 10, 2012
  11. Jeff KingSep 10, 2012
  12. Junio C HamanoSep 10, 2012

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.