Linus Torvalds <torvalds@xxxxxxxx> writes: > What ends up not working very well at all is the combination of > "--topo-order" and the output filter in get_revision. It will return NULL > when we see the first commit out of date-order, even if we have other > commits coming. > > So we really should do the "past the date order" thing in get_revision() > only if we have _not_ done it already in limit_list(). Right now --max-age causes "limited" so there should not be a difference, if I am not mistaken. But I've been meaning to change that, so the patch makes sense. Similarly,... -- >8 -- [PATCH] revision: --topo-order and --unpacked Now, using --unpacked without limit_list() does not make much sense, but this is parallel to the earlier --max-age fix. Signed-off-by: Junio C Hamano <junkio@xxxxxxx> --- revision.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) 22c31bf183bff576c7807f9d67abfc11ee8e1fa4 diff --git a/revision.c b/revision.c index 558ed01..07cc86f 100644 --- a/revision.c +++ b/revision.c @@ -787,7 +787,10 @@ struct commit *get_revision(struct rev_i * that we'd otherwise have done in limit_list(). */ if (!revs->limited) { - if (revs->max_age != -1 && (commit->date < revs->max_age)) + if ((revs->unpacked && + has_sha1_pack(commit->object.sha1)) || + (revs->max_age != -1 && + (commit->date < revs->max_age))) continue; add_parents_to_list(revs, commit, &revs->commits); } -- 1.3.0.rc1.gf385 - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html