From: Jeff King Date: Wed, 25 May 2011 20:01:36 GMT Subject: Re: Supporting "-v" option for git-log Message-ID: <20110525200136.GD27260@sigill.intra.peff.net> In-Reply-To: <7vlixu4reu.fsf@alter.siamese.dyndns.org> On Wed, May 25, 2011 at 10:32:41AM -0700, Junio C Hamano wrote: > > (which now means "grep for b, but do not include commits in c"). And > > even if we wanted to do that, there is a parsing ambiguity. Does the > > "--not" apply _just_ to the grep, or does it also include "not c"? > > > > Which is a shame, because we already have all of the code for "--and", > > "--or", and "--not" in git-grep. > > True, that has always been an accepted limitation. > > You could add --grep="-e A --and --not -e B --all-match", split_cmdline() > and then give the result to append_grep_pattern(), or something like that, > but I do not think it is worth doing. Besides being ambiguous with current usage (e.g., grepping for something starting with "-e"), I do not long for the quoting nightmare of: git log --grep="-e 'something with spaces' --and --not -e 'something with \"double quotes\"' --and --not -e 'something with '\\''single quotes'\\''" -Peff