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>
This commit is contained in:
Luben Tuikov 2005-11-18 16:29:04 -05:00 коммит произвёл Junio C Hamano
Родитель c3df856842
Коммит 07f9247722
1 изменённых файлов: 3 добавлений и 2 удалений

Просмотреть файл

@ -124,8 +124,6 @@ static int filter_commit(struct commit * commit)
stop_traversal=1; stop_traversal=1;
return CONTINUE; return CONTINUE;
} }
if (max_count != -1 && !max_count--)
return STOP;
if (no_merges && (commit->parents && commit->parents->next)) if (no_merges && (commit->parents && commit->parents->next))
return CONTINUE; return CONTINUE;
if (paths && dense) { if (paths && dense) {
@ -148,6 +146,9 @@ static int process_commit(struct commit * commit)
return CONTINUE; return CONTINUE;
} }
if (max_count != -1 && !max_count--)
return STOP;
show_commit(commit); show_commit(commit);
return CONTINUE; return CONTINUE;