summaryrefslogtreecommitdiff
path: root/rev-list.c
diff options
context:
space:
mode:
authorLuben Tuikov <ltuikov@yahoo.com>2005-11-18 21:29:04 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-11-22 05:50:00 (GMT)
commit07f92477227e2a1770dfbb6318caedc4f091f6c1 (patch)
treebe9697305c8bb150d09af79b190b4c1d8ea4eb17 /rev-list.c
parentc3df8568424684bbcc7df7722eb3ec34bdae8b2d (diff)
downloadgit-07f92477227e2a1770dfbb6318caedc4f091f6c1.zip
git-07f92477227e2a1770dfbb6318caedc4f091f6c1.tar.gz
git-07f92477227e2a1770dfbb6318caedc4f091f6c1.tar.bz2
max-count in terms of intersection
When a path designation is given, max-count counts the number of commits therein (intersection), not globally. This avoids the case where in case path has been inactive for the last N commits, --max-count=N and path designation at git-rev-list is given, would give no commits. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'rev-list.c')
-rw-r--r--rev-list.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/rev-list.c b/rev-list.c
index 6e6ffde..e17f928 100644
--- a/rev-list.c
+++ b/rev-list.c
@@ -124,8 +124,6 @@ static int filter_commit(struct commit * commit)
stop_traversal=1;
return CONTINUE;
}
- if (max_count != -1 && !max_count--)
- return STOP;
if (no_merges && (commit->parents && commit->parents->next))
return CONTINUE;
if (paths && dense) {
@@ -148,6 +146,9 @@ static int process_commit(struct commit * commit)
return CONTINUE;
}
+ if (max_count != -1 && !max_count--)
+ return STOP;
+
show_commit(commit);
return CONTINUE;