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

Re: [PATCH 12/18] revert: Make pick_commits functionally act on a commit list

From
Ramkumar Ramachandra <artagnon@gmail.com>
Date
Aug 1, 2011, 17:23 UTC
Message-ID
<CALkWK0nszs-=vvnPJXvvDD3f5BbbX3iHXkprFHtNX8jDKqeBew@mail.gmail.com>
In-Reply-To
<201107312252.50467.chriscool@tuxfamily.org>
Hi Christian,
Christian Couder writes:
Show 10 quoted lines
> On Thursday 28 July 2011 18:52:25 Ramkumar Ramachandra wrote:
>> +     /*
>> +      * Decide what to do depending on the arguments; a fresh
>> +      * cherry-pick should be handled differently from an existing
>> +      * one that is being continued
>> +      */
>
> It is strange to me that you add this comment only here and not below in
> cmd_cherry_pick(). So I'd suggest to put it before the definition of
> pick_revisions() instead.
Fixed.
Show 7 quoted lines
>> +     if (get_sha1("HEAD", sha1)) {
>> +             if (opts->action == REVERT)
>> +                     die(_("Can't revert as initial commit"));
>> +             die(_("Can't cherry-pick into empty head"));
>> +     } else
>
> This "else" could be removed.
Fixed.
Show 5 quoted lines
>> +             save_head(sha1_to_hex(sha1));
>> +     save_opts(opts);
>> +     save_todo(todo_list, opts);
>
> This save_todo() could be removed too as pick_commits() already does it.
Consider what effect this will have: pick_commits() may die before it
calls the save_todo() in a couple of ways:
1. The opts->allow_ff assertion block fails.  Although this can't
happen now (due to parse_args already catching it), it might happen
sometime in the future when we have a public API.  The question we
should be asking is: Is it alright to persist the todo in this case?
I'd say no -- the caller needs to be fixed, and persisting the todo
really isn't something I'd expect as an end user at this point.
2. read_and_refresh_cache fails.  Same question: Is it alright to
persist the todo in this case?  Failing to read or refresh the index
is quite a serious error, and persisting a todo is the last thing a
user would expect at this point anyway.  So, no again.
Result: Fixed.
Thanks.
-- Ram
Previous: Christian CouderNext: Ramkumar Ramachandra
Message 22 of 36 in “Sequencer for inclusion v4”
  1. 00/18 Sequencer for inclusion v4Ramkumar Ramachandra, Jul 28, 2011
  2. 01/18 advice: Introduce error_resolve_conflictRamkumar Ramachandra, Jul 28, 2011
  3. 02/18 config: Introduce functions to write non-standard fileRamkumar Ramachandra, Jul 28, 2011
  4. Jonathan NiederJul 28, 2011
  5. Ramkumar RamachandraJul 28, 2011
  6. 03/18 revert: Simplify and inline add_message_to_msgRamkumar Ramachandra, Jul 28, 2011
  7. 04/18 revert: Don't check lone argument in get_encodingRamkumar Ramachandra, Jul 28, 2011
  8. 05/18 revert: Rename no_replay to record_originRamkumar Ramachandra, Jul 28, 2011
  9. 06/18 revert: Eliminate global "commit" variableRamkumar Ramachandra, Jul 28, 2011
  10. 07/18 revert: Introduce struct to keep command-line optionsRamkumar Ramachandra, Jul 28, 2011
  11. 08/18 revert: Separate cmdline parsing from functional codeRamkumar Ramachandra, Jul 28, 2011
  12. 09/18 revert: Don't create invalid replay_opts in parse_argsRamkumar Ramachandra, Jul 28, 2011
  13. 10/18 revert: Save data for continuing after conflict resolutionRamkumar Ramachandra, Jul 28, 2011
  14. Jonathan NiederJul 28, 2011
  15. Ramkumar RamachandraJul 28, 2011
  16. 11/18 revert: Save command-line options for continuing operationRamkumar Ramachandra, Jul 28, 2011
  17. Christian CouderJul 31, 2011
  18. Ramkumar RamachandraAug 1, 2011
  19. 12/18 revert: Make pick_commits functionally act on a commit listRamkumar Ramachandra, Jul 28, 2011
  20. Christian CouderJul 31, 2011
  21. Christian CouderJul 31, 2011
  22. Ramkumar RamachandraAug 1, 2011
  23. 13/18 revert: Introduce --reset to remove sequencer stateRamkumar Ramachandra, Jul 28, 2011
  24. Christian CouderJul 31, 2011
  25. Ramkumar RamachandraAug 1, 2011
  26. 14/18 reset: Make reset remove the sequencer stateRamkumar Ramachandra, Jul 28, 2011
  27. 15/18 revert: Remove sequencer state when no commits are pendingRamkumar Ramachandra, Jul 28, 2011
  28. 16/18 revert: Don't implictly stomp pending sequencer operationRamkumar Ramachandra, Jul 28, 2011
  29. 17/18 revert: Introduce --continue to continue the operationRamkumar Ramachandra, Jul 28, 2011
  30. Christian CouderJul 31, 2011
  31. Ramkumar RamachandraAug 1, 2011
  32. Jonathan NiederAug 3, 2011
  33. Junio C HamanoAug 3, 2011
  34. Ramkumar RamachandraAug 3, 2011
  35. 18/18 revert: Propogate errors upwards from do_pick_commitRamkumar Ramachandra, Jul 28, 2011
  36. Ramkumar RamachandraJul 28, 2011

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.