Hi, On Wed, Jul 13, 2016 at 7:37 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Jehan Pagès <jehan.marmottard@xxxxxxxxx> writes: > >>> I think --author=someone greps the "author " field in the commit >>> object looking for the hit with "someone", and your request asks to >>> show commits that either do not have "something" or was not written >>> by "someone", I would guess. >> >> Note that I can still see commits with "something", and I can also see >> commits by "someone" in my results. So my request actually ask for >> commits which have neither "something" nor are done by "someone". >> >> Anyway I don't think that's the expected result, hence is still a bug. >> Am I wrong? > > Unlike "git grep", "git log" works with boolean expression that does > not explicitly have a way to say "--and" and "--or", so only one > interpretation has been chosen long time ago. All the terms are > ORed together, and then the whole thing can be inverted with > "--invert-grep". i.e. you are telling an equivalent of > > $ git grep --not \( -e "author someone" --or -e "something" \) > > with the command line, and there is no way to combine the requested > match criteria (there are two, "author must be somebody" and > "something must be in the message") differently. > > Given that, that is the "right" expectation, and as long as you get > the behaviour, there is no "bug". I see. Well it's a little counter-intuitive though, since the option is called --invert-grep. And the man indicates: « Limit the commits output to ones with log message that do not match the pattern specified with --grep=<pattern>. » So it gives the impression that the option is made only to invert the --grep part. Whereas in fact, you are saying it inverts any other optional selection (or at least also --author). A better naming should have been called --invert-matches, or even just --invert. And the man description should definitely be completed, IMO. > You can call it a lack of feature, though, and patches to implement > a more flexible combination of match criteria like "git grep" allows > is always welcome. Maybe I will! This would be useful to have a little more capabilities for commit selection. Thanks. Jehan -- ZeMarmot open animation film http://film.zemarmot.net Patreon: https://patreon.com/zemarmot Tipeee: https://www.tipeee.com/zemarmot -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html