caching commit patch-ids for fast git-cherry
- From
Geoffrey Irving <irving@naml.us>
- Date
- May 29, 2008, 17:01 UTC
- Message-ID
- <7f9d599f0805291001mdbb4b42q6f3a1b79bc9bc4e9@mail.gmail.com>
I'm planning to use cherry picking to manage long term syncing between cvs/perforce and git repositories. This means I'll have scripts running git-cherry between branches with hundreds of uncommon commits, and I want git-cherry to be much, much, faster.
It looks like I can do this by caching commit->patch-id pairs from commit_patch_id() in patch-ids.c to a file, say $GIT_DIR/commit-patch-id-cache. The file would be binary and append only, and could be blown away if . Any suggestions / concerns before I write this? Is there any reusable efficient map code for storing the commit->patch-id map, or should I just mirror the blocked storage + binary search used for struct patch_ids?
Thanks, Geoffrey