author | Matthieu Moy <Matthieu.Moy@imag.fr> | |
Wed, 9 Mar 2011 20:52:15 +0000 (21:52 +0100) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Wed, 9 Mar 2011 22:28:24 +0000 (14:28 -0800) | ||
commit | 251df09be3af658404f5f5f670a013d5806645d4 | |
tree | 01da419ad405179afd0765bcd77a89390a8e055c | tree | snapshot |
parent | d0f7dcbf424e1739437ffe477d87088ca6cb3432 | commit | diff |
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>
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 | diff | blob | history | |
t/t4013-diff-various.sh | diff | blob | history | |
t/t4013/diff.log_-SF_master_--max-count=0 | [new file with mode: 0644] | blob |
t/t4013/diff.log_-SF_master_--max-count=1 | [new file with mode: 0644] | blob |
t/t4013/diff.log_-SF_master_--max-count=2 | [new file with mode: 0644] | blob |