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.
next prev parent 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox