From: Junio C Hamano <gitster@pobox.com>
To: "Phillip Wood via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, "Stefan Haller" <lists@haller-berlin.de>,
"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
"Patrick Steinhardt" <ps@pks.im>,
"Rubén Justo" <rjusto@gmail.com>,
"Phillip Wood" <phillip.wood123@gmail.com>,
"Phillip Wood" <phillip.wood@dunelm.org.uk>
Subject: Re: [PATCH v3 0/2] rebase -i: improve error message when picking merge
Date: Thu, 30 May 2024 10:09:36 -0700 [thread overview]
Message-ID: <xmqq7cfbp6pb.fsf@gitster.g> (raw)
In-Reply-To: <pull.1672.v3.git.1717076630.gitgitgadget@gmail.com> (Phillip Wood via GitGitGadget's message of "Thu, 30 May 2024 13:43:48 +0000")
"Phillip Wood via GitGitGadget" <gitgitgadget@gmail.com> writes:
> If the user tries to pick a merge commit error out when parsing the todo
> list rather than complaining when trying to pick the commit.
>
> Sorry for the delay in re-rolling, thanks to Junio and Patrick for their
> comments on V2. I've rebased on to master to avoid a conflict with
> 'ps/the-index-is-no-more' and updated patch 2 to
>
> * Add advice on how rebase a merge commit as suggested by Junio. To avoid
> duplication between the error messages and the advice I've shortened the
> error messages.
>
> * Rework the control flow to make it easier to extend checks on merge
> commits if new commands are added in the future as suggested by Junio
>
> Phillip Wood (2):
> rebase -i: pass struct replay_opts to parse_insn_line()
> rebase -i: improve error message when picking merge
>
> Documentation/config/advice.txt | 2 +
> advice.c | 1 +
> advice.h | 1 +
> builtin/rebase.c | 17 ++++---
> rebase-interactive.c | 21 +++++----
> rebase-interactive.h | 9 ++--
> sequencer.c | 83 ++++++++++++++++++++++++++++-----
> sequencer.h | 4 +-
> t/t3404-rebase-interactive.sh | 45 ++++++++++++++++++
> 9 files changed, 153 insertions(+), 30 deletions(-)
>
>
> base-commit: 3a57aa566a21e7a510c64881bc6bdff7eb397988
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1672%2Fphillipwood%2Frebase-reject-merges-v3
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1672/phillipwood/rebase-reject-merges-v3
> Pull-Request: https://github.com/gitgitgadget/git/pull/1672
>
> Range-diff vs v2:
>
> 1: 1bcf92c6105 ! 1: 91c6f2f1b45 rebase -i: pass struct replay_opts to parse_insn_line()
> @@ builtin/rebase.c: static int edit_todo_file(unsigned flags)
> @@ builtin/rebase.c: static int do_interactive_rebase(struct rebase_options *opts, unsigned flags)
> error(_("could not generate todo list"));
> else {
> - discard_index(&the_index);
> + discard_index(the_repository->index);
> - if (todo_list_parse_insn_buffer(the_repository, todo_list.buf.buf,
> - &todo_list))
> + if (todo_list_parse_insn_buffer(the_repository, &replay,
OK. It would probably have been unnecessary to rebase only for this
update.
> + ## Documentation/config/advice.txt ##
> +@@ Documentation/config/advice.txt: advice.*::
> + `pushNonFFCurrent`, `pushNonFFMatching`, `pushAlreadyExists`,
> + `pushFetchFirst`, `pushNeedsForce`, and `pushRefNeedsUpdate`
> + simultaneously.
> ++ rebaseTodoError::
> ++ Shown when there is an error after editing the rebase todo list.
This thing is new. It is unclear to me if this description is clear
enough to readers that we are checking the edited todo list for
errors. It is clear enough from the actual code change, and the
readers come to this list after advise_if_enabled() triggers and
reports that the rebaseTodoError knob allows them to squelch it, so
it probably is OK.
Thanks, will replace. Let's see if we see comments from others and
then mark it for 'next' soonish.
next prev parent reply other threads:[~2024-05-30 17:09 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-26 10:58 [PATCH] rebase -i: improve error message when picking merge Phillip Wood via GitGitGadget
2024-04-03 13:42 ` phillip.wood123
2024-04-04 6:08 ` Patrick Steinhardt
2024-04-04 6:08 ` Patrick Steinhardt
2024-04-04 15:29 ` phillip.wood123
2024-04-04 19:44 ` Rubén Justo
2024-04-05 9:30 ` phillip.wood123
2024-04-06 14:24 ` Rubén Justo
2024-04-07 13:55 ` phillip.wood123
2024-04-08 14:16 ` [PATCH v2 0/2] " Phillip Wood via GitGitGadget
2024-04-08 14:16 ` [PATCH v2 1/2] rebase -i: pass struct replay_opts to parse_insn_line() Phillip Wood via GitGitGadget
2024-04-09 4:03 ` Patrick Steinhardt
2024-04-08 14:16 ` [PATCH v2 2/2] rebase -i: improve error message when picking merge Phillip Wood via GitGitGadget
2024-04-08 22:29 ` Junio C Hamano
2024-04-09 4:03 ` Patrick Steinhardt
2024-04-09 5:08 ` Junio C Hamano
2024-04-09 6:04 ` Patrick Steinhardt
2024-04-09 15:04 ` Phillip Wood
2024-04-09 19:56 ` Junio C Hamano
2024-04-12 13:24 ` Phillip Wood
2024-05-30 13:43 ` [PATCH v3 0/2] " Phillip Wood via GitGitGadget
2024-05-30 13:43 ` [PATCH v3 1/2] rebase -i: pass struct replay_opts to parse_insn_line() Phillip Wood via GitGitGadget
2024-05-30 13:43 ` [PATCH v3 2/2] rebase -i: improve error message when picking merge Phillip Wood via GitGitGadget
2024-05-30 17:09 ` Junio C Hamano [this message]
2024-06-03 9:22 ` [PATCH v3 0/2] " Phillip Wood
2024-06-03 15:42 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqq7cfbp6pb.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=lists@haller-berlin.de \
--cc=phillip.wood123@gmail.com \
--cc=phillip.wood@dunelm.org.uk \
--cc=ps@pks.im \
--cc=rjusto@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).