Re: git cherry-pick conflict error message is deceptive when cherry-picking multiple commits
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Aug 1, 2016, 09:12 UTC
- Message-ID
- <alpine.DEB.2.20.1608011107190.149069@virtualbox>
- In-Reply-To
- <CAH8BJxGPzpymSWPpxXRcCCx-OPckm5bVgENUEjVM-+9sr1T+6A@mail.gmail.com>
Hi Stephen,
On Wed, 27 Jul 2016, Stephen Morton wrote:
Show 35 quoted lines
> On Wed, Jul 27, 2016 at 11:03 AM, Johannes Schindelin
> <Johannes.Schindelin@gmx.de> wrote:
> >
> > On Wed, 27 Jul 2016, Stephen Morton wrote:
> >
> >> diff --git a/sequencer.c b/sequencer.c
> >> index cdfac82..ce06876 100644
> >> --- a/sequencer.c
> >> +++ b/sequencer.c
> >> @@ -176,7 +176,8 @@ static void print_advice(int show_hint, struct
> >> replay_opts *opts)
> >> else
> >> advise(_("after resolving the conflicts, mark
> >> the corrected paths\n"
> >> "with 'git add <paths>' or 'git rm <paths>'\n"
> >> - "and commit the result with 'git commit'"));
> >> + "then continue the %s with 'git %s
> >> --continue'\n"
> >> + "or cancel the %s operation with 'git
> >> %s --abort'" ), action_name(opts), action_name(opts),
> >> action_name(opts), action_name(opts));
> >
> > That is an awful lot of repetition right there, with an added
> > inconsistency that the action is referred to by its name alone in the
> > "--continue" case, but with "operation" added in the "--abort" case.
> >
> > And additionally, in the most common case (one commit to cherry-pick), the
> > advice now suggests a more complicated operation than necessary: a simply
> > `git commit` would be enough, then.
> >
> > Can't we have a test whether this is the last of the commits to be
> > cherry-picked, and if so, have the simpler advice again?
>
> Ok, knowing that I'm not on the last element of the sequencer is
> beyond my git code knowledge.Oh, my mistake: I meant to say that this information could be easily provided by `pick_commits()` if it passed it to `print_advice()` via `do_pick_commit()`.
Ciao, Johannes