Re: [BUG] fast-import producing very deep tree deltas

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Brian Downing <bdowning@...>
Cc: <git@...>
Date: Tuesday, November 13, 2007 - 4:53 am

Brian Downing <bdowning@lavos.net> wrote:

Heh.

I think what's happening here is your active branch cache isn't
big enough.  We're swapping out the branch and thus recycling the
tree information (struct tree_content) back into the free pool.
When we later reload the tree we set the delta_depth to 0 but we
kept the tree we just reloaded as a delta base.

So if the tree we reloaded was already at the maximum we wouldn't
know it and make the new tree a delta.  Multiply the number of times
the branch cache has to swap out the tree times max_depth (10) and
you get the maximum delta depth of a tree created by fast-import.
Given your above data of 6035 I'm guessing your active branch cache
had to swap the branch out 603/604 times during this import.

I think the fix is going to involve caching the depth within struct
object_entry so we can restore it when the tree is reloaded.

-- 
Shawn.
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[BUG] fast-import producing very deep tree deltas, Brian Downing, (Mon Nov 12, 7:03 am)
Re: [BUG] fast-import producing very deep tree deltas, Shawn O. Pearce, (Tue Nov 13, 4:53 am)
Re: [BUG] fast-import producing very deep tree deltas, Shawn O. Pearce, (Tue Nov 13, 5:27 am)
Re: [BUG] fast-import producing very deep tree deltas, Brian Downing, (Tue Nov 13, 10:36 am)
Re: [BUG] fast-import producing very deep tree deltas, Linus Torvalds, (Mon Nov 12, 4:26 pm)
[BUG] fast-import quoting broken for renames, Brian Downing, (Mon Nov 12, 7:13 am)