Skip to content

Commit

Permalink
Merge branch 'mm/maint-log-n-with-diff-filtering' into maint
Browse files Browse the repository at this point in the history
* mm/maint-log-n-with-diff-filtering:
  log: fix --max-count when used together with -S or -G
  • Loading branch information
Junio C Hamano committed Apr 3, 2011
2 parents c3d1a43 + 251df09 commit 1030536
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 1 deletion.
8 changes: 7 additions & 1 deletion builtin/log.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
3 changes: 3 additions & 0 deletions t/t4013-diff-various.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions t/t4013/diff.log_-SF_master_--max-count=0
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
$ git log -SF master --max-count=0
$
7 changes: 7 additions & 0 deletions t/t4013/diff.log_-SF_master_--max-count=1
Original file line number Diff line number Diff line change
@@ -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
$
7 changes: 7 additions & 0 deletions t/t4013/diff.log_-SF_master_--max-count=2
Original file line number Diff line number Diff line change
@@ -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
$

0 comments on commit 1030536

Please sign in to comment.