Re: [PATCH/RFC 2/2] Make path-limiting be incremental when possible.
- From
Junio C Hamano <junkio@cox.net>
- Date
- Apr 2, 2006, 03:11 UTC
- Message-ID
- <7vacb4oene.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <Pine.LNX.4.64.0604011628500.3684@g5.osdl.org>
Linus Torvalds <torvalds@osdl.org> writes:
Show 7 quoted lines
> 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@cox.net>
---
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