On Mon, Oct 30, 2006 at 05:47:14PM -0800, Junio C Hamano wrote: > Jan Harkes <jaharkes@xxxxxxxxxx> writes: > > > When getting the list of all unpacked objects by walking the commit history, > > we would stop traversal whenever we hit a packed commit. However the fact > > that we found a packed commit does not guarantee that all previous commits > > are also packed. As a result the commit walkers did not show all reachable > > unpacked objects. > > > > Signed-off-by: Jan Harkes <jaharkes@xxxxxxxxxx> > > Thanks. > > With this, I think revs->unpacked should not mean "limited", so > I suspect this is also needed, no? I'm not familiar enough with the code to know for sure, but my gut feeling is that that would be needed. Let me check... When that flag is set, the code calls limit_list, which no longer stops traversal when we hit a packed commit. So we end up with a list of all commits in memory. If the flag is not set, the list is kept minimal and parents are only traversed as they are encountered. So it looks like not setting the flag reduces memory usage we traverse all parents in both cases. Yes, you are correct. Jan - 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