All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "D. Ben Knoble" <ben.knoble@gmail.com>
Cc: Patrick Steinhardt <ps@pks.im>,  git@vger.kernel.org
Subject: Re: [PATCH 2/4] builtin/history: check for merges before asking for user input
Date: Thu, 12 Feb 2026 14:26:46 -0800	[thread overview]
Message-ID: <xmqq7bshmwd5.fsf@gitster.g> (raw)
In-Reply-To: <CALnO6CCciWF_GOd3WqOVwUDLoPRABNgDWbSu7FTgP8KLWQKvgQ@mail.gmail.com> (D. Ben Knoble's message of "Thu, 12 Feb 2026 17:20:08 -0500")

"D. Ben Knoble" <ben.knoble@gmail.com> writes:

> On Thu, Feb 12, 2026 at 7:45 AM Patrick Steinhardt <ps@pks.im> wrote:
>>
>> The replay infrastructure is not yet capable of replaying merge commits.
>> Unfortunately, we only notice that we're about to replay merges after we
>> have already asked the user for input, so any commit message that the
>> user may have written will be discarded in that case.
>>
>> Fix this by checking whether the revwalk contains merge commits before
>> we ask for user input.
>
> Indeed, that would be irritating :)
>
>>
>> Signed-off-by: Patrick Steinhardt <ps@pks.im>
>> ---
>>  builtin/history.c         | 40 ++++++++++++++++++++++++++++++++++++++++
>>  t/t3451-history-reword.sh |  2 +-
>>  2 files changed, 41 insertions(+), 1 deletion(-)
>>
>> diff --git a/builtin/history.c b/builtin/history.c
>> index 1de51372ea..ca0cdb6a58 100644
>> --- a/builtin/history.c
>> +++ b/builtin/history.c
>> @@ -177,6 +177,42 @@ static int parse_ref_action(const struct option *opt, const char *value, int uns
>>         return 0;
>>  }
>>
>> +static int revwalk_contains_merges(struct repository *repo,
>> +                                  const struct strvec *revwalk_args)
>> +{
>> +       struct strvec args = STRVEC_INIT;
>> +       struct rev_info revs;
>> +       int ret;
>> +
>> +       for (size_t i = 0; i < revwalk_args->nr; i++)
>> +               strvec_push(&args, revwalk_args->v[i]);
>
> I'm surprised we don't have anything like Rust's Vec::append or
> Vec::extend_from_slice

strvec_pushv() is what you are looking for.

  reply	other threads:[~2026-02-12 22:26 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-12 12:44 [PATCH 0/4] builtin/history: some smaller UI improvements Patrick Steinhardt
2026-02-12 12:44 ` [PATCH 1/4] builtin/history: perform revwalk checks before asking for user input Patrick Steinhardt
2026-02-12 20:04   ` Junio C Hamano
2026-02-13  5:51     ` Patrick Steinhardt
2026-02-13 17:02       ` Junio C Hamano
2026-02-12 12:44 ` [PATCH 2/4] builtin/history: check for merges " Patrick Steinhardt
2026-02-12 22:20   ` D. Ben Knoble
2026-02-12 22:26     ` Junio C Hamano [this message]
2026-02-13  5:51       ` Patrick Steinhardt
2026-02-13  5:51     ` Patrick Steinhardt
2026-02-13 13:42       ` Ben Knoble
2026-02-12 12:44 ` [PATCH 3/4] builtin/history: replace "--ref-action=print" with "--dry-run" Patrick Steinhardt
2026-02-12 20:19   ` Junio C Hamano
2026-02-13  5:50     ` Patrick Steinhardt
2026-02-12 22:20   ` D. Ben Knoble
2026-02-13  5:50     ` Patrick Steinhardt
2026-02-12 12:44 ` [PATCH 4/4] builtin/history: rename "--ref-action=" to "--update-refs=" Patrick Steinhardt
2026-02-13  9:12 ` [PATCH v2 0/5] builtin/history: some smaller UI improvements Patrick Steinhardt
2026-02-13  9:12   ` [PATCH v2 1/5] builtin/history: perform revwalk checks before asking for user input Patrick Steinhardt
2026-02-13 17:20     ` Junio C Hamano
2026-02-13  9:12   ` [PATCH v2 2/5] builtin/history: check for merges " Patrick Steinhardt
2026-02-13  9:12   ` [PATCH v2 3/5] builtin/history: replace "--ref-action=print" with "--dry-run" Patrick Steinhardt
2026-02-13 17:30     ` Kristoffer Haugsbakk
2026-02-16  6:39       ` Patrick Steinhardt
2026-02-18 16:09         ` Kristoffer Haugsbakk
2026-02-13  9:12   ` [PATCH v2 4/5] builtin/history: rename "--ref-action=" to "--update-refs=" Patrick Steinhardt
2026-02-13  9:12   ` [PATCH v2 5/5] Documentation/git-history: document default for "--update-refs=" Patrick Steinhardt
2026-02-13 17:21     ` Junio C Hamano
2026-02-16  6:45 ` [PATCH v3 0/5] builtin/history: some smaller UI improvements Patrick Steinhardt
2026-02-16  6:45   ` [PATCH v3 1/5] builtin/history: perform revwalk checks before asking for user input Patrick Steinhardt
2026-02-16  6:45   ` [PATCH v3 2/5] builtin/history: check for merges " Patrick Steinhardt
2026-02-16  6:45   ` [PATCH v3 3/5] builtin/history: replace "--ref-action=print" with "--dry-run" Patrick Steinhardt
2026-02-16  6:45   ` [PATCH v3 4/5] builtin/history: rename "--ref-action=" to "--update-refs=" Patrick Steinhardt
2026-02-16  6:45   ` [PATCH v3 5/5] Documentation/git-history: document default for "--update-refs=" Patrick Steinhardt

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=xmqq7bshmwd5.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=ben.knoble@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=ps@pks.im \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.