Re: [RFC/PATCHv7 22/22] fast-import: Proper notes tree manipulation using the notes API
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Oct 9, 2009, 14:25 UTC
- Message-ID
- <20091009142524.GQ9261@spearce.org>
- In-Reply-To
- <1255083738-23263-24-git-send-email-johan@herland.net>
Johan Herland <johan@herland.net> wrote:
Show 5 quoted lines
> This patch teaches 'git fast-import' to use the notes API to organize > the manipulation of note objects through a fast-import stream. Note > objects are added to the notes tree through the 'N' command, and when > we're about to store the tree object for the current commit, we walk > through the notes tree and insert all the notes into the stored tree.
Some high level comments about this patch:
- You don't destroy the struct notes_tree during unload_one_branch() which means notes trees stay in memory even if the branch table is overflowing. I think you should discard the notes tree when a branch unloads, and recreate it when the branch loads.
- Destroying and adding back all notes is OK with ~20k notes, but doing that with ~150k-~800k notes is going to slow down a lot, losing the "fast" part.
-- Shawn.