From: Luben Tuikov Date: Fri, 18 Nov 2005 21:47:22 GMT Subject: [PATCH rev-list.c] max-count in terms of intersection Message-ID: <20051118214722.4449.qmail@web31813.mail.mud.yahoo.com> diff-tree 768b79de9eadc38a839332df0fcce021f7174d6d (from 2e67a5f449f4026097494569f871d79bf263ab28) tree 6403fc730f8d5843043788f4c2f466727ba94bc0 parent 2e67a5f449f4026097494569f871d79bf263ab28 author Luben Tuikov 1132349344 -0500 committer Luben Tuikov 1132349344 -0500 [PATCH rev-list.c] 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 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 * 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 return CONTINUE; } + if (max_count != -1 && !max_count--) + return STOP; + show_commit(commit); return CONTINUE;