Possible regression in `git grep --untracked` pathspec matching in v2.27.0
- From
- John Millikin <jmillikin@stripe.com>
- Date
- Jun 3, 2020, 03:28 UTC
- Message-ID
- <CAJmdR_pG74x0Zn43MSm7zXNcoitqjjOy+WnhyGBW+oFjVFLbRQ@mail.gmail.com>
In v2.26.2 and earlier, `git grep --untracked` with negative pathspec patterns would filter out paths matching those patterns. In v2.27.0, this no longer works as expected.
Example output:
# v2.26.2 (good) $ ./git grep --untracked --files-with-matches -e '.' -- 'quote.*' ':!quote.c' quote.h $
# v2.27.0 (bad) $ ./git grep --untracked --files-with-matches -e '.' -- 'quote.*' ':!quote.c' quote.c quote.h $
I've bisected the change to commit 95c11ecc73f286e0a95d9591ae98f1221efe4633, which changed the handling of path matches in callers of `fill_directory()`.
It's not clear from git-grep(1) whether the old or new behavior is "correct", so I request that the fix include a clarification of expected semantics.
Thanks, - John Millikin