Jeff King <> 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.


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.

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to