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

Re: git cherry-pick conflict error message is deceptive when cherry-picking multiple commits

From
Stephen Morton <stephen.c.morton@gmail.com>
Date
Jul 26, 2016, 20:44 UTC
Message-ID
<CAH8BJxH0_RhmDaHWBkFg6QP7WWucUtPSQfsAemdVWkTzN42MPw@mail.gmail.com>
In-Reply-To
<20160726203041.GA4675@sigill.intra.peff.net>
On Tue, Jul 26, 2016 at 4:30 PM, Jeff King <peff@peff.net> wrote:
Show 26 quoted lines
> On Tue, Jul 26, 2016 at 01:18:55PM -0700, Stefan Beller wrote:
>
>> > Would it be possible to expand the hint message to tell users to run
>> > 'git cherry-pick --continue'
>>
>> Instead of expanding I'd go for replacing?
>>
>> I'd say the user is tempted for 2 choices,
>> a) aborting (for various reasons)
>> b) fix and continue.
>
> Yeah, I'd agree with this.
>
> I think that advice comes from a time when you could only cherry-pick a
> single commit. These days you can do several in a single run, and that's
> why "git cherry-pick --continue" was invented.
>
> So I think we would need to make sure that the "cherry-pick --continue"
> advice applies in both cases (and that we do not need to give different
> advice depending on whether we are in a single or multiple cherry-pick).
>
> I did some basic tests and it _seems_ to work to use --continue in
> either case. Probably due to 093a309 (revert: allow cherry-pick
> --continue to commit before resuming, 2011-12-10), but I didn't dig.
>
> -Peff
The 'git status' text for a rebase/am/cherry-pick is
    fix conflicts and then run "git <op> --continue"
    use "git <op> --skip" to skip this patch"
    use "git <op> --abort" to cancel the <op> operation
(The --cancel text varies a bit actually, but that's the gist of it.)

The rebase/cherry-pick conflict case should really indicate how to mark the conflict as resolved as that's the specific situation the user is in. I don't know if there are guidelines to hint line length, or how many actions should be on one line but if the above text was changed to have this as the "fix" text, possibly over two lines, I think that would do it.

    fix conflicts with 'git add <paths>' or 'git rm <paths>'" and then
run "git <op> --continue"
Stephen
Previous: Jeff KingNext: Stephen Morton
Message 4 of 9 in “git cherry-pick conflict error message is deceptive when cherry-picking multiple commits”
  1. Stephen MortonJul 26, 2016
  2. Stefan BellerJul 26, 2016
  3. Jeff KingJul 26, 2016
  4. Stephen MortonJul 26, 2016
  5. Stephen MortonJul 27, 2016
  6. Johannes SchindelinJul 27, 2016
  7. Stephen MortonJul 27, 2016
  8. Johannes SchindelinAug 1, 2016
  9. Stephen MortonAug 10, 2016

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.