Merge branch 'mm/maint-log-n-with-diff-filtering'

* mm/maint-log-n-with-diff-filtering:
  log: fix --max-count when used together with -S or -G
This commit is contained in:
Junio C Hamano 2011-03-19 23:25:38 -07:00
commit a91df69cbb
5 changed files with 26 additions and 1 deletions

View file

@ -263,7 +263,13 @@ static int cmd_log_walk(struct rev_info *rev)
* retain that state information if replacing rev->diffopt in this loop
*/
while ((commit = get_revision(rev)) != NULL) {
log_tree_commit(rev, commit);
if (!log_tree_commit(rev, commit) &&
rev->max_count >= 0)
/*
* We decremented max_count in get_revision,
* but we didn't actually show the commit.
*/
rev->max_count++;
if (!rev->reflog_info) {
/* we allow cycles in reflog ancestry */
free(commit->buffer);

View file

@ -210,6 +210,9 @@ log -m -p master
log -SF master
log -S F master
log -SF -p master
log -SF master --max-count=0
log -SF master --max-count=1
log -SF master --max-count=2
log -GF master
log -GF -p master
log -GF -p --pickaxe-all master

View file

@ -0,0 +1,2 @@
$ git log -SF master --max-count=0
$

View file

@ -0,0 +1,7 @@
$ git log -SF master --max-count=1
commit 9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0
Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:02:00 2006 +0000
Third
$

View file

@ -0,0 +1,7 @@
$ git log -SF master --max-count=2
commit 9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0
Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:02:00 2006 +0000
Third
$