max-count in terms of intersection
authorLuben Tuikov <ltuikov@yahoo.com>
Fri, 18 Nov 2005 21:29:04 +0000 (16:29 -0500)
committerJunio C Hamano <junkio@cox.net>
Tue, 22 Nov 2005 05:50:00 +0000 (21:50 -0800)
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>
rev-list.c

index 6e6ffde39600f048f5c365dd478256feba321db9..e17f928061250c24465e1b96f89a18acb98a748c 100644 (file)
@@ -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;