Just a couple of quick notes.
- I had to eject Bo's "log -L range path" series in order to push this
out on 'pu' as the range stuff adds new callsites to the old pathspec
API.
This is tentative and does not mean Bo's series is getting rejected;
I'd want to get its command line parsing around the pathnames fixed
anyway but I suspect the affected codepath would overlap between the
two series. Help is appreciated.
- I do not think either !pattern nor ^pattern is particularly a good way
to express negative pathspecs. My gut feeling is (I have not thought
this through nor clearly enough; note the time of this message) that it
would be the cleanest at the UI level to introduce negative patterns as
arguments to a separate command line flag, e.g.
$ git log --exclude "Doc*" master..pu -- '*.txt'
$ git grep --exclude "t/" -e 'test .*-L' -- '*.sh'
- David's "git grep --exclude-dir D" topic should be able to internally
use the same negative pathspec mechanism. At the command line level,
it allows (and needs to allow) only the leading prefix (which is how
GNU grep's --exclude-dir works), but it makes tons of sense for us to
allow "--exclude $pattern" from the command line, and share the
mechanism internally between the two.