From: Patrick Steinhardt <ps@pks.im>
To: Elijah Newren <newren@gmail.com>
Cc: git@vger.kernel.org, "D. Ben Knoble" <ben.knoble@gmail.com>,
"Junio C Hamano" <gitster@pobox.com>,
"Sergey Organov" <sorganov@gmail.com>,
"Jean-Noël AVILA" <jn.avila@free.fr>,
"Martin von Zweigbergk" <martinvonz@gmail.com>,
"Kristoffer Haugsbakk" <kristofferhaugsbakk@fastmail.com>,
"Karthik Nayak" <karthik.188@gmail.com>,
"Phillip Wood" <phillip.wood123@gmail.com>,
"SZEDER Gábor" <szeder.dev@gmail.com>,
"Matthias Beyer" <mail@beyermatthias.de>
Subject: Re: [PATCH v10 1/8] builtin/replay: extract core logic to replay revisions
Date: Tue, 13 Jan 2026 08:31:31 +0100 [thread overview]
Message-ID: <aWX0055xT2PKzgfa@pks.im> (raw)
In-Reply-To: <CABPp-BGOcMRerGpH5HGkUR4-DKPx+VmkWzqRt8qideZoJBrvHg@mail.gmail.com>
On Mon, Jan 12, 2026 at 10:00:06PM -0800, Elijah Newren wrote:
> On Mon, Jan 12, 2026 at 6:17 AM Patrick Steinhardt <ps@pks.im> wrote:
> > @@ -253,6 +254,137 @@ static struct commit *pick_regular_commit(struct repository *repo,
> [...]
> > + if (!result.clean) {
> > + out->merge_conflict = true;
> > + ret = -1;
>
> Even if you keep the special merge_conflict field for other purposes,
> setting ret to -1 here still feels very wrong. Negative return codes,
> and especially -1, is used throughout the merge machinery to signal
> unexpected errors like failure to read/write to disk. Further, it's
> inconsistent with how builtin/merge-tree.c works, where both in code
> and in documentation merge result code is 0 == clean, 1 == merge
> conflicts. I'm worried using -1 here could cause some nasty future
> maintenance headaches trying to understand the field if left this way,
> at least for me. As mentioned in the last round, the ret value here
> should be 1.
To expand a bit why I prefer my style: it's extremely easy to get the
return code wrong. We have a bunch of callsites that set the return code
directly, and in theory we now have to vet every single such call site
to verify that it will never return an error code of 1. If any function
does, then exiting with 1 now becomes ambiguous. This is an error
waiting to happen.
With being explicit about the error code and the specific condition we
care about we make that issue go away. Furthermore, it also helps to
document intent in the code as it is very explicit now.
In any case, I don't want this disagreement to block the patch series,
so I'll adapt to make it return a positive value on a conflict.
> > @@ -306,21 +438,11 @@ int cmd_replay(int argc,
> [...]
> > - die_for_incompatible_opt2(!!advance_name_opt, "--advance",
> > - contained, "--contained");
> > + die_for_incompatible_opt2(!!opts.advance, "--advance",
> > + opts.contained, "--contained");
>
> This predates your patch, but I'm wondering if there's anything we
> should do to clarify and/or simplify the first check. The original
> form of the check
> + die_for_incompatible_opt2(!!opts.advance, "--advance",
> + opts.contained, "--contained");
> was created because (a) I had code that allowed --onto to be implicit
> in some cases, and (b) I was thinking only of --onto and --advance
> modes.
>
> However: (a) we got rid of the implicit mode selection from my private
> branch, and (b) Siddharth added patches which added a --revert mode.
> Those patches caused confusion around the interplay of --contained
> with the new mode
> (https://lore.kernel.org/git/xmqq3460ocv7.fsf@gitster.g/). I thought
> the synopsis:
> "([--contained] --onto <newbase> | --advance <branch>) "
> implied clearly enough that --contained is a sub-mode of --onto, but
> apparently that wasn't the case. Perhaps we can strengthen that
> understanding if we change the check here to instead be something like
> if (opts.contained && !opts.onto)
> die("--onto must be specified if --contained is")
>
> Definitely not critical; but might be a nice cleanup.
>
> > + die_for_incompatible_opt2(!!opts.advance, "--advance",
> > + !!opts.onto, "--onto");
>
> Yeah, and Siddharth can convert this to a die_for_incompatible_opt3()
> call, adding "--revert" to it when he rerolls his series on top of
> yours.
Fair, but this feels somewhat unrelated to my changes. So I'll not touch
this part and leave it for a future patch series to clean up, if that's
alright with you.
> > - /* Return */
> > - if (ret < 0)
> > - exit(128);
> > - return ret ? 0 : 1;
> > + if (ret) {
> > + if (result.merge_conflict)
> > + return 1;
> > + return 128;
> > + }
> > +
> > + return 0;
> > }
>
> You mentioned that you wanted to keep the merge_conflict field due to
> some future patches beyond the currently submitted series. I wonder
> if it'd make more sense to introduce that field once you introduce the
> new patches, but i don't feel too strongly about that. I do feel
> strongly that the place where you set ret to -1 is problematic and
> should be changed to 1.
I'll drop the field for now.
Patrick
next prev parent reply other threads:[~2026-01-13 7:31 UTC|newest]
Thread overview: 362+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-19 10:55 [PATCH RFC 00/11] Introduce git-history(1) command for easy history editing Patrick Steinhardt
2025-08-19 10:55 ` [PATCH RFC 01/11] sequencer: optionally skip printing commit summary Patrick Steinhardt
2025-08-19 10:55 ` [PATCH RFC 02/11] sequencer: add option to rewind HEAD after picking commits Patrick Steinhardt
2025-08-19 10:55 ` [PATCH RFC 03/11] cache-tree: allow writing in-memory index as tree Patrick Steinhardt
2025-08-19 10:56 ` [PATCH RFC 04/11] builtin: add new "history" command Patrick Steinhardt
2025-08-19 10:56 ` [PATCH RFC 05/11] builtin/history: implement "drop" subcommand Patrick Steinhardt
2025-08-20 20:39 ` Ben Knoble
2025-08-22 12:21 ` Patrick Steinhardt
2025-08-23 16:15 ` Jean-Noël AVILA
2025-08-24 16:02 ` Patrick Steinhardt
2025-08-19 10:56 ` [PATCH RFC 06/11] builtin/history: implement "reorder" subcommand Patrick Steinhardt
2025-08-23 16:24 ` Jean-Noël AVILA
2025-08-24 17:25 ` Kristoffer Haugsbakk
2025-08-24 17:34 ` Patrick Steinhardt
2025-08-19 10:56 ` [PATCH RFC 07/11] add-patch: split out header from "add-interactive.h" Patrick Steinhardt
2025-08-19 10:56 ` [PATCH RFC 08/11] add-patch: split out `struct interactive_options` Patrick Steinhardt
2025-08-19 10:56 ` [PATCH RFC 09/11] add-patch: remove dependency on "add-interactive" subsystem Patrick Steinhardt
2025-08-19 10:56 ` [PATCH RFC 10/11] add-patch: add support for in-memory index patching Patrick Steinhardt
2025-08-20 21:15 ` D. Ben Knoble
2025-08-22 12:21 ` Patrick Steinhardt
2025-08-19 10:56 ` [PATCH RFC 11/11] builtin/history: implement "split" subcommand Patrick Steinhardt
2025-08-20 21:27 ` D. Ben Knoble
2025-08-22 12:22 ` Patrick Steinhardt
2025-08-22 18:08 ` Junio C Hamano
2025-08-24 16:03 ` Patrick Steinhardt
2025-08-23 16:37 ` Jean-Noël AVILA
2025-08-24 16:02 ` Patrick Steinhardt
2025-08-19 21:28 ` [PATCH RFC 00/11] Introduce git-history(1) command for easy history editing D. Ben Knoble
2025-08-20 6:54 ` Patrick Steinhardt
2025-08-20 16:55 ` Ben Knoble
2025-08-20 17:36 ` Junio C Hamano
2025-08-20 17:49 ` Ben Knoble
2025-08-22 12:21 ` Patrick Steinhardt
2025-08-22 17:58 ` Junio C Hamano
2025-08-21 16:26 ` Sergey Organov
2025-08-21 17:21 ` Ben Knoble
2025-08-21 18:15 ` Sergey Organov
2025-08-24 1:25 ` Martin von Zweigbergk
2025-08-24 16:03 ` Patrick Steinhardt
2025-09-17 20:12 ` SZEDER Gábor
2025-12-03 18:18 ` Matthias Beyer
2025-12-10 9:58 ` Phillip Wood
2025-12-10 10:37 ` Matthias Beyer
2025-12-10 11:34 ` Phillip Wood
2025-12-10 14:18 ` Junio C Hamano
2025-12-19 12:22 ` Patrick Steinhardt
2025-12-19 13:58 ` SZEDER Gábor
2025-12-19 14:09 ` Patrick Steinhardt
2025-12-19 16:30 ` Elijah Newren
2025-12-20 16:51 ` Elijah Newren
2026-01-06 15:39 ` Patrick Steinhardt
2025-12-22 10:46 ` Phillip Wood
2026-01-06 15:40 ` Patrick Steinhardt
2025-12-22 13:47 ` D. Ben Knoble
2025-12-10 16:49 ` Martin von Zweigbergk
2025-12-10 18:27 ` Elijah Newren
2025-12-10 18:45 ` Martin von Zweigbergk
2025-12-10 19:55 ` Elijah Newren
2025-12-15 23:50 ` Kristoffer Haugsbakk
2025-08-24 17:31 ` Kristoffer Haugsbakk
2025-08-24 17:38 ` Patrick Steinhardt
2025-08-24 17:42 ` [PATCH RFC v2 00/16] " Patrick Steinhardt
2025-08-24 17:42 ` [PATCH RFC v2 01/16] sequencer: optionally skip printing commit summary Patrick Steinhardt
2025-08-24 17:42 ` [PATCH RFC v2 02/16] sequencer: add option to rewind HEAD after picking commits Patrick Steinhardt
2025-08-24 17:42 ` [PATCH RFC v2 03/16] sequencer: introduce new history editing mode Patrick Steinhardt
2025-08-26 12:55 ` D. Ben Knoble
2025-09-03 12:19 ` Patrick Steinhardt
2025-08-24 17:42 ` [PATCH RFC v2 04/16] sequencer: stop using `the_repository` in `sequencer_remove_state()` Patrick Steinhardt
2025-08-24 17:42 ` [PATCH RFC v2 05/16] cache-tree: allow writing in-memory index as tree Patrick Steinhardt
2025-08-25 16:38 ` Junio C Hamano
2025-09-03 12:19 ` Patrick Steinhardt
2025-08-24 17:42 ` [PATCH RFC v2 06/16] builtin: add new "history" command Patrick Steinhardt
2025-08-24 17:42 ` [PATCH RFC v2 07/16] builtin/history: introduce subcommands to manage interrupted rewrites Patrick Steinhardt
2025-08-24 17:42 ` [PATCH RFC v2 08/16] builtin/history: implement "drop" subcommand Patrick Steinhardt
2025-08-24 17:42 ` [PATCH RFC v2 09/16] builtin/history: implement "reorder" subcommand Patrick Steinhardt
2025-08-26 13:03 ` D. Ben Knoble
2025-09-03 12:19 ` Patrick Steinhardt
2025-08-24 17:42 ` [PATCH RFC v2 10/16] add-patch: split out header from "add-interactive.h" Patrick Steinhardt
2025-08-25 16:41 ` Junio C Hamano
2025-08-24 17:42 ` [PATCH RFC v2 11/16] add-patch: split out `struct interactive_options` Patrick Steinhardt
2025-08-24 17:42 ` [PATCH RFC v2 12/16] add-patch: remove dependency on "add-interactive" subsystem Patrick Steinhardt
2025-08-25 16:43 ` Junio C Hamano
2025-08-24 17:42 ` [PATCH RFC v2 13/16] add-patch: add support for in-memory index patching Patrick Steinhardt
2025-08-24 17:42 ` [PATCH RFC v2 14/16] wt-status: provide function to expose status for trees Patrick Steinhardt
2025-08-24 17:42 ` [PATCH RFC v2 15/16] builtin/history: implement "split" subcommand Patrick Steinhardt
2025-08-24 18:03 ` Kristoffer Haugsbakk
2025-09-03 12:20 ` Patrick Steinhardt
2025-08-26 13:14 ` D. Ben Knoble
2025-09-03 12:20 ` Patrick Steinhardt
2025-09-03 21:55 ` D. Ben Knoble
2025-09-04 12:57 ` Patrick Steinhardt
2025-09-12 18:26 ` D. Ben Knoble
2025-09-15 9:32 ` Patrick Steinhardt
2025-09-15 13:04 ` Ben Knoble
2025-08-24 17:42 ` [PATCH RFC v2 16/16] builtin/history: implement "reword" subcommand Patrick Steinhardt
2025-08-24 18:08 ` Kristoffer Haugsbakk
2025-09-03 12:20 ` Patrick Steinhardt
2025-09-03 23:39 ` [PATCH RFC v2 00/16] Introduce git-history(1) command for easy history editing D. Ben Knoble
2025-09-04 13:05 ` Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 00/18] " Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 01/18] sequencer: optionally skip printing commit summary Patrick Steinhardt
2025-09-10 14:01 ` Phillip Wood
2025-09-15 9:32 ` Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 02/18] sequencer: add option to rewind HEAD after picking commits Patrick Steinhardt
2025-09-10 14:04 ` Phillip Wood
2025-09-15 9:32 ` Patrick Steinhardt
2025-09-15 14:10 ` Phillip Wood
2025-09-04 14:27 ` [PATCH RFC v3 03/18] sequencer: introduce new history editing mode Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 04/18] sequencer: stop using `the_repository` in `sequencer_remove_state()` Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 05/18] sequencer: wire up "rewritten-hook" for REPLAY_HISTORY_EDIT Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 06/18] cache-tree: allow writing in-memory index as tree Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 07/18] builtin: add new "history" command Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 08/18] builtin/history: introduce subcommands to manage interrupted rewrites Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 09/18] builtin/history: implement "drop" subcommand Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 10/18] builtin/history: implement "reorder" subcommand Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 11/18] add-patch: split out header from "add-interactive.h" Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 12/18] add-patch: split out `struct interactive_options` Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 13/18] add-patch: remove dependency on "add-interactive" subsystem Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 14/18] add-patch: add support for in-memory index patching Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 15/18] wt-status: provide function to expose status for trees Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 16/18] sequencer: allow callers to provide mappings for the old commit Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 17/18] builtin/history: implement "split" subcommand Patrick Steinhardt
2025-09-10 14:04 ` Phillip Wood
2025-09-15 9:32 ` Patrick Steinhardt
2025-09-04 14:27 ` [PATCH RFC v3 18/18] builtin/history: implement "reword" subcommand Patrick Steinhardt
2025-09-10 14:05 ` Phillip Wood
2025-09-15 9:32 ` Patrick Steinhardt
2025-09-15 14:10 ` Phillip Wood
2025-09-16 8:09 ` Patrick Steinhardt
2025-09-16 8:42 ` Phillip Wood
2025-09-05 10:29 ` [PATCH RFC v3 00/18] Introduce git-history(1) command for easy history editing Kristoffer Haugsbakk
2025-09-05 11:29 ` Patrick Steinhardt
2025-09-07 6:46 ` Elijah Newren
2025-09-10 14:05 ` Phillip Wood
2025-09-10 14:08 ` Phillip Wood
2025-09-15 9:33 ` Patrick Steinhardt
2025-09-16 11:23 ` Oswald Buddenhagen
2025-09-10 20:05 ` Junio C Hamano
2025-09-15 9:32 ` Patrick Steinhardt
2025-10-01 15:57 ` [PATCH v4 00/12] " Patrick Steinhardt
2025-10-01 15:57 ` [PATCH v4 01/12] wt-status: provide function to expose status for trees Patrick Steinhardt
2025-10-14 8:49 ` Karthik Nayak
2025-10-21 11:43 ` Patrick Steinhardt
2025-10-01 15:57 ` [PATCH v4 02/12] replay: extract logic to pick commits Patrick Steinhardt
2025-10-01 15:57 ` [PATCH v4 03/12] replay: stop using `the_repository` Patrick Steinhardt
2025-10-14 8:53 ` Karthik Nayak
2025-10-01 15:57 ` [PATCH v4 04/12] replay: parse commits before dereferencing them Patrick Steinhardt
2025-10-14 8:57 ` Karthik Nayak
2025-10-01 15:57 ` [PATCH v4 05/12] builtin: add new "history" command Patrick Steinhardt
2025-10-02 9:26 ` Kristoffer Haugsbakk
2025-10-14 9:07 ` Karthik Nayak
2025-10-21 11:43 ` Patrick Steinhardt
2025-10-22 3:32 ` Junio C Hamano
2025-10-22 12:12 ` Karthik Nayak
2025-10-01 15:57 ` [PATCH v4 06/12] builtin/history: implement "reword" subcommand Patrick Steinhardt
2025-10-14 11:04 ` Karthik Nayak
2025-10-21 11:43 ` Patrick Steinhardt
2025-10-01 15:57 ` [PATCH v4 07/12] add-patch: split out header from "add-interactive.h" Patrick Steinhardt
2025-10-01 15:57 ` [PATCH v4 08/12] add-patch: split out `struct interactive_options` Patrick Steinhardt
2025-10-02 9:25 ` Kristoffer Haugsbakk
2025-10-14 12:35 ` Karthik Nayak
2025-10-21 11:44 ` Patrick Steinhardt
2025-10-01 15:57 ` [PATCH v4 09/12] add-patch: remove dependency on "add-interactive" subsystem Patrick Steinhardt
2025-10-01 15:57 ` [PATCH v4 10/12] add-patch: add support for in-memory index patching Patrick Steinhardt
2025-10-02 9:28 ` Kristoffer Haugsbakk
2025-10-02 10:24 ` Patrick Steinhardt
2025-10-14 13:08 ` Karthik Nayak
2025-10-01 15:57 ` [PATCH v4 11/12] cache-tree: allow writing in-memory index as tree Patrick Steinhardt
2025-10-01 15:57 ` [PATCH v4 12/12] builtin/history: implement "split" subcommand Patrick Steinhardt
2025-10-14 13:38 ` Karthik Nayak
2025-10-21 11:44 ` Patrick Steinhardt
2025-10-21 21:19 ` D. Ben Knoble
2025-10-27 9:58 ` Patrick Steinhardt
2025-10-14 13:41 ` [PATCH v4 00/12] Introduce git-history(1) command for easy history editing Karthik Nayak
2025-10-14 16:47 ` Junio C Hamano
2025-10-21 14:15 ` [PATCH v5 " Patrick Steinhardt
2025-10-21 14:15 ` [PATCH v5 01/12] wt-status: provide function to expose status for trees Patrick Steinhardt
2025-10-21 20:38 ` Junio C Hamano
2025-10-21 14:15 ` [PATCH v5 02/12] replay: extract logic to pick commits Patrick Steinhardt
2025-10-21 20:41 ` Junio C Hamano
2025-10-21 14:15 ` [PATCH v5 03/12] replay: stop using `the_repository` Patrick Steinhardt
2025-10-21 20:48 ` Junio C Hamano
2025-10-21 20:52 ` Junio C Hamano
2025-10-21 14:15 ` [PATCH v5 04/12] replay: parse commits before dereferencing them Patrick Steinhardt
2025-10-21 20:57 ` Junio C Hamano
2025-10-27 9:57 ` Patrick Steinhardt
2025-10-21 14:15 ` [PATCH v5 05/12] builtin: add new "history" command Patrick Steinhardt
2025-10-21 21:15 ` Junio C Hamano
2025-10-27 9:57 ` Patrick Steinhardt
2025-10-21 14:15 ` [PATCH v5 06/12] builtin/history: implement "reword" subcommand Patrick Steinhardt
2025-10-21 21:34 ` Junio C Hamano
2025-10-21 21:43 ` D. Ben Knoble
2025-10-27 9:58 ` Patrick Steinhardt
2025-10-27 9:58 ` Patrick Steinhardt
2025-10-21 14:15 ` [PATCH v5 07/12] add-patch: split out header from "add-interactive.h" Patrick Steinhardt
2025-10-21 14:15 ` [PATCH v5 08/12] add-patch: split out `struct interactive_options` Patrick Steinhardt
2025-10-21 14:15 ` [PATCH v5 09/12] add-patch: remove dependency on "add-interactive" subsystem Patrick Steinhardt
2025-10-21 14:15 ` [PATCH v5 10/12] add-patch: add support for in-memory index patching Patrick Steinhardt
2025-10-21 14:15 ` [PATCH v5 11/12] cache-tree: allow writing in-memory index as tree Patrick Steinhardt
2025-10-21 14:16 ` [PATCH v5 12/12] builtin/history: implement "split" subcommand Patrick Steinhardt
2025-10-21 18:53 ` [PATCH v5 00/12] Introduce git-history(1) command for easy history editing Junio C Hamano
2025-10-27 11:33 ` [PATCH v6 00/11] " Patrick Steinhardt
2025-10-27 11:33 ` [PATCH v6 01/11] wt-status: provide function to expose status for trees Patrick Steinhardt
2025-10-27 11:33 ` [PATCH v6 02/11] replay: extract logic to pick commits Patrick Steinhardt
2025-11-17 16:27 ` Phillip Wood
2025-11-20 7:01 ` Elijah Newren
2025-10-27 11:33 ` [PATCH v6 03/11] replay: stop using `the_repository` Patrick Steinhardt
2025-11-20 7:01 ` Elijah Newren
2025-12-02 18:47 ` Patrick Steinhardt
2025-10-27 11:33 ` [PATCH v6 04/11] builtin: add new "history" command Patrick Steinhardt
2025-11-17 16:28 ` Phillip Wood
2025-12-02 18:48 ` Patrick Steinhardt
2025-11-20 7:02 ` Elijah Newren
2025-12-02 18:48 ` Patrick Steinhardt
2025-12-02 22:44 ` D. Ben Knoble
2025-12-03 10:48 ` Patrick Steinhardt
2025-10-27 11:33 ` [PATCH v6 05/11] builtin/history: implement "reword" subcommand Patrick Steinhardt
2025-11-17 16:27 ` Phillip Wood
2025-12-02 18:50 ` Patrick Steinhardt
2025-12-10 9:52 ` Phillip Wood
2025-11-20 7:03 ` Elijah Newren
2025-12-02 18:50 ` Patrick Steinhardt
2025-11-25 8:31 ` SZEDER Gábor
2025-12-02 18:50 ` Patrick Steinhardt
2025-10-27 11:33 ` [PATCH v6 06/11] add-patch: split out header from "add-interactive.h" Patrick Steinhardt
2025-11-20 7:03 ` Elijah Newren
2025-10-27 11:33 ` [PATCH v6 07/11] add-patch: split out `struct interactive_options` Patrick Steinhardt
2025-11-20 7:03 ` Elijah Newren
2025-11-20 15:05 ` Phillip Wood
2025-12-02 18:48 ` Patrick Steinhardt
2025-10-27 11:33 ` [PATCH v6 08/11] add-patch: remove dependency on "add-interactive" subsystem Patrick Steinhardt
2025-11-20 7:03 ` Elijah Newren
2025-11-20 15:05 ` Phillip Wood
2025-10-27 11:33 ` [PATCH v6 09/11] add-patch: add support for in-memory index patching Patrick Steinhardt
2025-11-20 7:04 ` Elijah Newren
2025-11-20 15:05 ` Phillip Wood
2025-12-02 18:49 ` Patrick Steinhardt
2025-10-27 11:33 ` [PATCH v6 10/11] cache-tree: allow writing in-memory index as tree Patrick Steinhardt
2025-11-20 7:04 ` Elijah Newren
2025-10-27 11:33 ` [PATCH v6 11/11] builtin/history: implement "split" subcommand Patrick Steinhardt
2025-11-20 7:05 ` Elijah Newren
2025-12-02 18:49 ` Patrick Steinhardt
2025-11-21 14:31 ` Phillip Wood
2025-12-02 18:51 ` Patrick Steinhardt
2025-12-10 9:51 ` Phillip Wood
2025-12-19 13:00 ` Patrick Steinhardt
2025-11-12 19:13 ` [PATCH v6 00/11] Introduce git-history(1) command for easy history editing Sergey Organov
2025-11-20 7:07 ` Elijah Newren
2025-11-20 20:28 ` Junio C Hamano
2025-11-20 20:40 ` Elijah Newren
2025-11-20 20:49 ` Junio C Hamano
2025-11-20 22:02 ` Elijah Newren
2025-11-21 14:31 ` Phillip Wood
2025-11-21 16:01 ` Junio C Hamano
2025-11-23 2:54 ` Elijah Newren
2025-12-02 18:49 ` Patrick Steinhardt
2025-12-05 8:49 ` Elijah Newren
2025-12-09 7:53 ` Patrick Steinhardt
2025-12-09 17:43 ` Martin von Zweigbergk
2025-12-10 11:32 ` Phillip Wood
2025-12-10 6:55 ` Elijah Newren
2025-12-09 18:29 ` Kristoffer Haugsbakk
2025-12-12 22:00 ` Working on top of mega merges D. Ben Knoble
2025-11-23 2:30 ` [PATCH v6 00/11] Introduce git-history(1) command for easy history editing Elijah Newren
2025-11-24 16:31 ` Phillip Wood
2025-11-25 3:39 ` Elijah Newren
2025-12-03 10:48 ` [PATCH v7 00/12] " Patrick Steinhardt
2025-12-03 10:48 ` [PATCH v7 01/12] wt-status: provide function to expose status for trees Patrick Steinhardt
2025-12-03 10:48 ` [PATCH v7 02/12] replay: extract logic to pick commits Patrick Steinhardt
2025-12-03 10:48 ` [PATCH v7 03/12] replay: stop using `the_repository` Patrick Steinhardt
2025-12-03 10:48 ` [PATCH v7 04/12] builtin: add new "history" command Patrick Steinhardt
2025-12-22 17:11 ` Kristoffer Haugsbakk
2026-01-06 15:41 ` Patrick Steinhardt
2025-12-03 10:48 ` [PATCH v7 05/12] builtin/history: implement "reword" subcommand Patrick Steinhardt
2025-12-03 10:48 ` [PATCH v7 06/12] add-patch: split out header from "add-interactive.h" Patrick Steinhardt
2025-12-03 10:48 ` [PATCH v7 07/12] add-patch: split out `struct interactive_options` Patrick Steinhardt
2025-12-03 10:48 ` [PATCH v7 08/12] add-patch: remove dependency on "add-interactive" subsystem Patrick Steinhardt
2025-12-03 10:48 ` [PATCH v7 09/12] add-patch: add support for in-memory index patching Patrick Steinhardt
2025-12-03 10:48 ` [PATCH v7 10/12] add-patch: allow disabling editing of hunks Patrick Steinhardt
2025-12-03 10:48 ` [PATCH v7 11/12] cache-tree: allow writing in-memory index as tree Patrick Steinhardt
2025-12-03 10:48 ` [PATCH v7 12/12] builtin/history: implement "split" subcommand Patrick Steinhardt
2026-01-07 10:10 ` [PATCH v8 0/7] Introduce git-history(1) command for easy history editing Patrick Steinhardt
2026-01-07 10:10 ` [PATCH v8 1/7] builtin/replay: extract core logic to replay revisions Patrick Steinhardt
2026-01-07 17:53 ` D. Ben Knoble
2026-01-09 7:37 ` Patrick Steinhardt
2026-01-07 10:10 ` [PATCH v8 2/7] builtin/replay: move core logic into "libgit.a" Patrick Steinhardt
2026-01-07 10:10 ` [PATCH v8 3/7] replay: small set of cleanups Patrick Steinhardt
2026-01-07 10:10 ` [PATCH v8 4/7] replay: yield the object ID of the final rewritten commit Patrick Steinhardt
2026-01-07 10:10 ` [PATCH v8 5/7] wt-status: provide function to expose status for trees Patrick Steinhardt
2026-01-07 10:10 ` [PATCH v8 6/7] builtin: add new "history" command Patrick Steinhardt
2026-01-07 10:10 ` [PATCH v8 7/7] builtin/history: implement "reword" subcommand Patrick Steinhardt
2026-01-07 18:01 ` D. Ben Knoble
2026-01-09 7:37 ` Patrick Steinhardt
2026-01-09 23:24 ` D. Ben Knoble
2026-01-10 1:20 ` Elijah Newren
2026-01-12 13:03 ` Patrick Steinhardt
2026-01-07 17:39 ` [PATCH v8 0/7] Introduce git-history(1) command for easy history editing D. Ben Knoble
2026-01-09 7:34 ` Patrick Steinhardt
2026-01-09 23:27 ` D. Ben Knoble
2026-01-09 8:35 ` [PATCH v9 " Patrick Steinhardt
2026-01-09 8:35 ` [PATCH v9 1/7] builtin/replay: extract core logic to replay revisions Patrick Steinhardt
2026-01-10 1:14 ` Elijah Newren
2026-01-12 13:02 ` Patrick Steinhardt
2026-01-09 8:35 ` [PATCH v9 2/7] builtin/replay: move core logic into "libgit.a" Patrick Steinhardt
2026-01-10 1:16 ` Elijah Newren
2026-01-12 13:02 ` Patrick Steinhardt
2026-01-13 6:00 ` Elijah Newren
2026-01-13 7:31 ` Patrick Steinhardt
2026-01-09 8:35 ` [PATCH v9 3/7] replay: small set of cleanups Patrick Steinhardt
2026-01-09 8:35 ` [PATCH v9 4/7] replay: yield the object ID of the final rewritten commit Patrick Steinhardt
2026-01-10 1:17 ` Elijah Newren
2026-01-12 13:03 ` Patrick Steinhardt
2026-01-09 8:35 ` [PATCH v9 5/7] wt-status: provide function to expose status for trees Patrick Steinhardt
2026-01-09 8:35 ` [PATCH v9 6/7] builtin: add new "history" command Patrick Steinhardt
2026-01-10 1:17 ` Elijah Newren
2026-01-12 13:02 ` Patrick Steinhardt
2026-01-09 8:35 ` [PATCH v9 7/7] builtin/history: implement "reword" subcommand Patrick Steinhardt
2026-01-10 1:26 ` [PATCH v9 0/7] Introduce git-history(1) command for easy history editing Elijah Newren
2026-01-10 17:14 ` SZEDER Gábor
2026-01-12 13:03 ` Patrick Steinhardt
2026-01-11 5:58 ` [PATCH 0/2] Some Elijah Newren
2026-01-11 5:58 ` [PATCH v9 8/7] SQUASH ME: Fixups Elijah Newren
2026-01-11 5:58 ` [PATCH v9 9/7] history: fix detached HEAD handling Elijah Newren
2026-01-11 6:15 ` [PATCH 0/2] Some Elijah Newren
2026-01-12 13:02 ` Patrick Steinhardt
2026-01-12 14:15 ` [PATCH v10 0/8] Introduce git-history(1) command for easy history editing Patrick Steinhardt
2026-01-12 14:15 ` [PATCH v10 1/8] builtin/replay: extract core logic to replay revisions Patrick Steinhardt
2026-01-12 15:08 ` Junio C Hamano
2026-01-12 15:37 ` Patrick Steinhardt
2026-01-13 6:00 ` Elijah Newren
2026-01-13 7:31 ` Patrick Steinhardt [this message]
2026-01-12 14:15 ` [PATCH v10 2/8] builtin/replay: move core logic into "libgit.a" Patrick Steinhardt
2026-01-12 14:15 ` [PATCH v10 3/8] replay: small set of cleanups Patrick Steinhardt
2026-01-12 14:15 ` [PATCH v10 4/8] replay: support empty commit ranges Patrick Steinhardt
2026-01-13 6:00 ` Elijah Newren
2026-01-13 7:30 ` Patrick Steinhardt
2026-01-12 14:15 ` [PATCH v10 5/8] replay: support updating detached HEAD Patrick Steinhardt
2026-01-13 6:00 ` Elijah Newren
2026-01-13 7:30 ` Patrick Steinhardt
2026-01-12 14:15 ` [PATCH v10 6/8] wt-status: provide function to expose status for trees Patrick Steinhardt
2026-01-12 14:15 ` [PATCH v10 7/8] builtin: add new "history" command Patrick Steinhardt
2026-01-12 14:15 ` [PATCH v10 8/8] builtin/history: implement "reword" subcommand Patrick Steinhardt
2026-01-13 6:01 ` Elijah Newren
2026-01-13 6:01 ` [PATCH v10 0/8] Introduce git-history(1) command for easy history editing Elijah Newren
2026-01-13 9:54 ` [PATCH v11 " Patrick Steinhardt
2026-01-13 9:54 ` [PATCH v11 1/8] builtin/replay: extract core logic to replay revisions Patrick Steinhardt
2026-01-13 9:54 ` [PATCH v11 2/8] builtin/replay: move core logic into "libgit.a" Patrick Steinhardt
2026-01-13 9:54 ` [PATCH v11 3/8] replay: small set of cleanups Patrick Steinhardt
2026-01-13 9:54 ` [PATCH v11 4/8] replay: support empty commit ranges Patrick Steinhardt
2026-01-13 9:54 ` [PATCH v11 5/8] replay: support updating detached HEAD Patrick Steinhardt
2026-01-13 9:54 ` [PATCH v11 6/8] wt-status: provide function to expose status for trees Patrick Steinhardt
2026-01-13 9:54 ` [PATCH v11 7/8] builtin: add new "history" command Patrick Steinhardt
2026-01-13 9:54 ` [PATCH v11 8/8] builtin/history: implement "reword" subcommand Patrick Steinhardt
2026-01-16 16:28 ` SZEDER Gábor
2026-01-17 22:56 ` Elijah Newren
2026-01-18 17:50 ` Junio C Hamano
2026-02-03 0:01 ` Junio C Hamano
2026-02-05 8:19 ` Patrick Steinhardt
2026-01-16 6:43 ` [PATCH v11 0/8] Introduce git-history(1) command for easy history editing Elijah Newren
2026-01-16 15:21 ` Junio C Hamano
2026-01-16 16:32 ` SZEDER Gábor
2026-01-21 19:02 ` 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=aWX0055xT2PKzgfa@pks.im \
--to=ps@pks.im \
--cc=ben.knoble@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jn.avila@free.fr \
--cc=karthik.188@gmail.com \
--cc=kristofferhaugsbakk@fastmail.com \
--cc=mail@beyermatthias.de \
--cc=martinvonz@gmail.com \
--cc=newren@gmail.com \
--cc=phillip.wood123@gmail.com \
--cc=sorganov@gmail.com \
--cc=szeder.dev@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