From: Jonathan Nieder Date: Wed, 30 Jun 2010 20:34:51 GMT Subject: Re: [PATCH 2/8] bundle: use libified rev-list --boundary Message-ID: <20100630203451.GC23400@burratino> In-Reply-To: <7vtyok5rpl.fsf@alter.siamese.dyndns.org> Junio C Hamano wrote: > Jonathan Nieder writes: >> The revision walker produces structured output, which should be a >> little easier to work with than the text from rev-list. > > Hmm, doesn't it negatively affect later traversal you would need to do if > you smudged the flag bits by running revision traversal like this? I imagine so. I fear this would be the first git command to use the revision walker twice, and I am not sure whether we can really make that work. The revision walker uses object flags for the following purposes: - marking objects uninteresting/SYMMETRIC_LEFT. Luckily for us, if an object is uninteresting or SYMMETRIC_LEFT for the first --boundary walk, it will be likewise for pack-objects, too. - history simplification (TREESAME), --cherry-pick (SHOWN), --merge (SYMMETRIC_LEFT). There are already other reasons to disallow these features for bundle. - add_parents_to_list (ADDED, SEEN). This one is really worrisome; should we walk through again to throw away the added parents? Should there be a pass through all revisions to clear the ADDED bit? I’ll figure out a one-pass solution. :( Jonathan