From: Shawn O. Pearce Date: Tue, 13 Nov 2007 08:01:25 GMT Subject: Re: [PATCH 4/2] Fix parent rewriting in --early-output Message-ID: <20071113080125.GB14735@spearce.org> In-Reply-To: <7v1wauzomr.fsf@gitster.siamese.dyndns.org> Junio C Hamano wrote: > I have to wonder what would happen if a much higher level caller > caused the objects to get parsed before coming into the revision > walking machinery, e.g. after the command line processing for > A...B walked the ancestry chain until their common ancestors are > found. So these commits between A and B are parsed, but the > revision limiting machinery hasn't done its operation to set > TREECHANGE and/or UNINTERESTING in add_parents_to_list() on > these commits yet. That's one of the problems with the way the revision walking machinery is built. Its fast, but it can really only be used once. My series about making the allocators able to free their nodes was to allow resetting the entire machinary for another user, but as you pointed out how do we decide when we can do a reset and invalidate all prior struct commit*? -- Shawn.