log: fix --max-count when used together with -S or -G
authorMatthieu Moy <Matthieu.Moy@imag.fr>
Wed, 9 Mar 2011 20:52:15 +0000 (21:52 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 9 Mar 2011 22:28:24 +0000 (14:28 -0800)
commit251df09be3af658404f5f5f670a013d5806645d4
tree01da419ad405179afd0765bcd77a89390a8e055c
parentd0f7dcbf424e1739437ffe477d87088ca6cb3432
log: fix --max-count when used together with -S or -G

The --max-count limit is implemented by counting revisions in
get_revision(), but the -S and -G take effect later when running diff.
Hence "--max-count=10 -Sfoo" meant "examine the 10 first revisions, and
out of them, show only those changing the occurences of foo", not "show 10
revisions changing the occurences of foo".

In case the commit isn't actually shown, cancel the decrement of
max_count.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/log.c
t/t4013-diff-various.sh
t/t4013/diff.log_-SF_master_--max-count=0 [new file with mode: 0644]
t/t4013/diff.log_-SF_master_--max-count=1 [new file with mode: 0644]
t/t4013/diff.log_-SF_master_--max-count=2 [new file with mode: 0644]