Re: [PATCH 0/6] Introduce pathspec struct
- From
David Ripton <dripton@ripton.net>
- Date
- Sep 28, 2010, 23:22 UTC
- Message-ID
- <4CA2789A.7090306@ripton.net>
- In-Reply-To
- <7v7hi6us35.fsf@alter.siamese.dyndns.org>
On 09/28/10 04:37, Junio C Hamano wrote:
Show 6 quoted lines
> - 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.
I don't think GNU grep's --exclude-dir only allows the leading prefix. Here the data directory is a level below the top, but --exclude-dir=data effectively excludes it:
$ grep -R behemoth_green * Binary file slugathon/util/colors.pyc matches slugathon/util/colors.py: "behemoth_green": (2, 129, 2), Binary file slugathon/data/creaturedata.pyc matches slugathon/data/creaturedata.py:"Behemoth": ("Behemoths", 8, 3, 0, 0, "creature", 0, 0, 18, "behemoth_green"), slugathon/data/creaturedata.py:"Cyclops": ("Cyclopes", 9, 2, 0, 0, "creature", 0, 0, 28, "behemoth_green"),
grep -R --exclude-dir=data behemoth_green * Binary file slugathon/util/colors.pyc matches slugathon/util/colors.py: "behemoth_green": (2, 129, 2),
IMO it's useful to allow excluding directories below the top like it currently does, because some projects might have a bunch of noise directories with the same name, and having --exclude-dir exclude them all would be handy.
That said, if consistency with other exclude patterns is more important than this use case, fine with me.
-- David Ripton dripton@ripton.net