Ramkumar Ramachandra wrote: > Christian Couder wrote: >> -static int revert_or_cherry_pick(int argc, const char **argv) >> +static int do_pick_commit() >> { >> unsigned char head[20]; >> struct commit *base, *next, *parent; > > Is there a better way to do this instead of allocating memory for each > commit? When you cherry pick a lot of commits, it might make sense to > use a shared memory pool. In fact they do belong to a pool, as far as I can tell. lookup_commit_reference -> lookup_commit_reference_gently -> parse_object -> parse_object_buffer -> lookup_commit -> lookup_object (or create_object, alloc_commit_node) alloc_commit_node is defined in alloc.c to draw from a growing array of fixed-size, never-freed commit objects. Hope that helps. Jonathan -- 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