git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC/PATCH 2/4] revert: refactor code into a do_pick_commit() function

From
Jonathan Nieder <jrnieder@gmail.com>
Date
May 30, 2010, 20:07 UTC
Message-ID
<20100530200708.GA32728@progeny.tock>
In-Reply-To
<AANLkTik6SBEkOICHdMYprzGitfS2hezDXKQ8Q5R8cAYs@mail.gmail.com>
Ramkumar Ramachandra wrote:
> Christian Couder wrote:
Show 9 quoted lines
>> -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

Previous: Ramkumar RamachandraNext: Christian Couder
Message 5 of 15 in “implement "git cherry-pick A..B"”
  1. 0/4 implement "git cherry-pick A..B"Christian Couder, May 29, 2010
  2. 1/4 revert: use run_command_v_opt() instead of execv_git_cmd()Christian Couder, May 29, 2010
  3. 2/4 revert: refactor code into a do_pick_commit() functionChristian Couder, May 29, 2010
  4. Ramkumar RamachandraMay 30, 2010
  5. Jonathan NiederMay 30, 2010
  6. Christian CouderMay 30, 2010
  7. 3/4 revert: allow cherry-picking a range of commitsChristian Couder, May 29, 2010
  8. Junio C HamanoMay 29, 2010
  9. Christian CouderMay 30, 2010
  10. Johannes SchindelinMay 29, 2010
  11. Christian CouderMay 30, 2010
  12. Christian CouderJun 1, 2010
  13. 4/4 revert: add tests to check cherry-picking a range of commitsChristian Couder, May 29, 2010
  14. Sverre RabbelierMay 29, 2010
  15. Christian CouderMay 30, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.