On 2009.04.11 14:43:14 -0700, Linus Torvalds wrote: > On Sat, 11 Apr 2009, Björn Steinbrink wrote: > > > > > > And I think I can see why. The new code actually does a _better_ job of > > > the resulting list being in "recency" order, whereas the old code used to > > > output the root trees all together. Now they're spread out according to > > > how soon they are reached. > > > > Hm, I don't think that was the case. When iterating over the commits, > > process_tree was called with commit->tree, and that added the root tree > > to the objects array as well as walking it to add all referenced objects. > > Oh, you're right. We actually ended up walking the trees at that point, > so recency should be the same. > > Hmm. Where does the difference in ordering come from, then? Ah! The tag objects. Previously, they were added to the end of the objects array, after all the objects from the process_tree() calls. But now, the pending array is directly processed, causing the tags to show up earlier. The same is of course true for any other pending object, but verifying that for the tag objects was easier :-) Björn -- To unsubscribe from this list: 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