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

Re: [PATCH 11/16] revert_or_cherry_pick(): get oneline_body from get_oneline()

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Mar 18, 2010, 03:16 UTC
Message-ID
<20100318031638.GA18193@progeny.tock>
In-Reply-To
<780e0a6b1003171309k75b33d3cpb4b1c6370d67942f@mail.gmail.com>
Stephen Boyd wrote:
> Could all this code just use the custom format printing routines in
> pretty.c? It might not be super efficient but at least it wouldn't
> duplicate a bunch of code.

I like this idea, but I wasn’t able to pull it off. You see, cmd_revert() uses a few substrings from a single string it generates:

 parent of ca87ef9... Do something very imporant
 ^         ^          ^
 1         2          3
These are put together like so:
For the commit message:
 Subject: Revert "[3]Do something very important"
 This reverts commit ca87ef90000000000000000000000000000000000.
For the conflict markers:
 <<<<<<< HEAD
 Version from the tip of the current branch.
 ||||||| [2]ca87ef9... Do something very important
 Version from the commit to be reverted.
 =======
 Version from the parent of the commit to be reverted.
 >>>>>>> [1]parent of ca87ef9... Do something very important

Nevertheless, investigating it did spur me to simplify this part of the series a little. I think the following two patches could replace patches 11, 13, 14, and 15 from this thread. I do not want to do any drastic refactoring without libifying this code, though, and that should wait for another series, I think.

Thanks for the feedback.
Jonathan Nieder (2):
  revert: clarify label on conflict hunks
  cherry-pick, revert: add a label for ancestor
 builtin/revert.c                |  129 +++++++++++++++++++++++----------------
 t/t3507-cherry-pick-conflict.sh |    8 +-
 2 files changed, 80 insertions(+), 57 deletions(-)
Previous: Stephen BoydNext: Jonathan Nieder
Message 16 of 23 in “Add label for common ancestor to conflictstyle=diff3”
  1. 0/16 Add label for common ancestor to conflictstyle=diff3Jonathan Nieder, Mar 17, 2010
  2. 01/16 xdl_merge(): add optional ancestor label to diff3-style outputJonathan Nieder, Mar 17, 2010
  3. Bert WesargMar 17, 2010
  4. Jonathan NiederMar 20, 2010
  5. 02/16 xdl_merge(): move file1 and file2 labels to xmparam structureJonathan Nieder, Mar 17, 2010
  6. 03/16 merge-file --diff3: add a label for ancestorJonathan Nieder, Mar 17, 2010
  7. 04/16 ll_merge(): add ancestor label parameter for diff3-style outputJonathan Nieder, Mar 17, 2010
  8. 05/16 checkout --conflict=diff3: add a label for ancestorJonathan Nieder, Mar 17, 2010
  9. 06/16 merge_file(): add comment explaining behavior wrt conflict styleJonathan Nieder, Mar 17, 2010
  10. 07/16 merge_trees(): add ancestor label parameter for diff3-style outputJonathan Nieder, Mar 17, 2010
  11. 08/16 tests: document format of conflicts from checkout -mJonathan Nieder, Mar 17, 2010
  12. 09/16 checkout -m --conflict=diff3: add a label for ancestorJonathan Nieder, Mar 17, 2010
  13. 10/16 tests: document cherry-pick behavior in face of conflictsJonathan Nieder, Mar 17, 2010
  14. 11/16 revert_or_cherry_pick(): get oneline_body from get_oneline()Jonathan Nieder, Mar 17, 2010
  15. Stephen BoydMar 17, 2010
  16. Jonathan NiederMar 18, 2010
  17. revert: clarify label on conflict hunksJonathan Nieder, Mar 18, 2010
  18. 15/16 cherry-pick, revert: add a label for ancestorJonathan Nieder, Mar 18, 2010
  19. 12/16 compat: add mempcpy()Jonathan Nieder, Mar 17, 2010
  20. 13/16 revert: simplify get_oneline() using mempcpyJonathan Nieder, Mar 17, 2010
  21. 14/16 revert: clarify label on conflict hunksJonathan Nieder, Mar 17, 2010
  22. 15/16 cherry-pick: add a label for ancestorJonathan Nieder, Mar 17, 2010
  23. 16/16 merge-recursive: add a label for ancestorJonathan Nieder, Mar 17, 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.