Johan Herland [off-list ref] wrote:
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.