Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > $ git log --grep=bar --invert-grep --author=Ævar --pretty=format:%an > -100 origin/pu |sort|uniq -c|sort -nr > 78 Junio C Hamano > 14 Jeff King > 2 Andreas Heiduk > 1 Sahil Dua > 1 Rikard Falkeborn > 1 Johannes Sixt > 1 Johannes Schindelin > 1 Ben Peart > 1 Ævar Arnfjörð Bjarmason > > That last command should only find my commits, but instead --author is > discarded. Hmph, the way I read revision.c::commit_match() is that we check with "--grep=bar --author=Ævar" and then emit the commit if that check fails when --invert-grep is in effect (instead of emitting the commit when the check succeeds, which is the normal case). So there is one commit that didn't pass "has 'bar' and written by Ævar" check that was written by you in the recent past (iow, recently you were writing bar all over the place). Changes by other people by definition does not pass "has 'bar' and written by Ævar" check, on the other hand.