On Wed, May 31, 2017 at 08:08:54PM +0200, Ævar Arnfjörð Bjarmason wrote:
> $ git log --grep=bar --author=Ævar --pretty=format:%an -100 origin/pu
> |sort|uniq -c|sort -nr
> 5 Ævar Arnfjörð Bjarmason
>
> $ git log --author=Ævar --pretty=format:%an -100 origin/pu |sort|uniq
> -c|sort -nr
> 100 Ævar Arnfjörð Bjarmason
>
> $ 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.
I would have thought that the last command wouldn't find _any_ of your
commits. Don't we consider --author a greppable pattern and invert it?
By itself:
$ git log --author=Ævar --invert-grep --format=%an -100 origin/pu |
sort | uniq -c | sort -rn
79 Junio C Hamano
8 Stefan Beller
8 Jeff King
1 Sahil Dua
1 Rikard Falkeborn
1 Johannes Sixt
1 Johannes Schindelin
1 Andreas Heiduk
So that makes sense from the "--author is invertable" world-view.
But I'm puzzled that you show up at all when --grep=bar is added (and
moreover, that we get _one_ commit from you, not the 5 found in your
initial command). That seems like a bug.
-Peff