public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: Phillip Wood <phillip.wood123@gmail•com>
To: Patrick Steinhardt <ps@pks•im>, git@vger•kernel.org
Cc: "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>,
	"Elijah Newren" <newren@gmail•com>,
	"Karthik Nayak" <karthik.188@gmail•com>
Subject: Re: [PATCH v6 04/11] builtin: add new "history" command
Date: Mon, 17 Nov 2025 16:28:06 +0000	[thread overview]
Message-ID: <cca1e594-6685-4f9e-a57d-8419ccc6fa68@gmail.com> (raw)
In-Reply-To: <20251027-b4-pks-history-builtin-v6-4-407dd3f57ad3@pks.im>

Hi Patrick

On 27/10/2025 11:33, Patrick Steinhardt wrote:
> When rewriting history via git-rebase(1) there are a couple of very

There's more than a couple of items in this list, s/couple of/few/?

> common use cases:
> 
>    - The ordering of two commits should be reversed.
> 
>    - A commit should be split up into two commits.
> 
>    - A commit should be dropped from the history completely.
> 
>    - Multiple commits should be squashed into one.

I'd add editing an existing commit to this list, even if we don't 
implement it initially

> diff --git a/Documentation/git-history.adoc b/Documentation/git-history.adoc
> new file mode 100644
> index 00000000000..6bdfeb50e8b
> --- /dev/null
> +++ b/Documentation/git-history.adoc
> @@ -0,0 +1,44 @@
> +git-history(1)
> +==============
> +
> +NAME
> +----
> +git-history - EXPERIMENTAL: Rewrite history of the current branch
> +
> +SYNOPSIS
> +--------
> +[synopsis]
> +git history [<options>]
> +
> +DESCRIPTION
> +-----------
> +
> +Rewrite history by rearranging or modifying specific commits in the
> +history.
> +
> +THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.

Excellent - keeping our options open is a very good idea

> +This command is similar to linkgit:git-rebase[1] and uses the same
> +underlying machinery.

This isn't strictly true now that we're baisg "git history" on the 
replay machinery.

> You should use rebases if you want to reapply a range of
> +commits onto a different base, or interactive rebases if you want to edit a
> +range of commits.
> +
> +Note that this command does not (yet) work with histories that contain
> +merges. You should use linkgit:git-rebase[1] with the `--rebase-merges`
> +flag instead.
> +
> +COMMANDS
> +--------
> +
> +Several commands are available to rewrite history in different ways:
> +
> +CONFIGURATION
> +-------------
> +
> +include::includes/cmd-config-section-all.adoc[]
> +
> +include::config/sequencer.adoc[]

This probably isn't relevant now we're not using the sequencer.

Thanks

Phillip

> +
> +GIT
> +---
> +Part of the linkgit:git[1] suite
> diff --git a/Documentation/meson.build b/Documentation/meson.build
> index 9d24f2da544..d1f6bde7c16 100644
> --- a/Documentation/meson.build
> +++ b/Documentation/meson.build
> @@ -64,6 +64,7 @@ manpages = {
>     'git-gui.adoc' : 1,
>     'git-hash-object.adoc' : 1,
>     'git-help.adoc' : 1,
> +  'git-history.adoc' : 1,
>     'git-hook.adoc' : 1,
>     'git-http-backend.adoc' : 1,
>     'git-http-fetch.adoc' : 1,
> diff --git a/Makefile b/Makefile
> index 01c171b4f03..1380ee1e196 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1395,6 +1395,7 @@ BUILTIN_OBJS += builtin/get-tar-commit-id.o
>   BUILTIN_OBJS += builtin/grep.o
>   BUILTIN_OBJS += builtin/hash-object.o
>   BUILTIN_OBJS += builtin/help.o
> +BUILTIN_OBJS += builtin/history.o
>   BUILTIN_OBJS += builtin/hook.o
>   BUILTIN_OBJS += builtin/index-pack.o
>   BUILTIN_OBJS += builtin/init-db.o
> diff --git a/builtin.h b/builtin.h
> index 1b35565fbd9..93c91d07d4b 100644
> --- a/builtin.h
> +++ b/builtin.h
> @@ -172,6 +172,7 @@ int cmd_get_tar_commit_id(int argc, const char **argv, const char *prefix, struc
>   int cmd_grep(int argc, const char **argv, const char *prefix, struct repository *repo);
>   int cmd_hash_object(int argc, const char **argv, const char *prefix, struct repository *repo);
>   int cmd_help(int argc, const char **argv, const char *prefix, struct repository *repo);
> +int cmd_history(int argc, const char **argv, const char *prefix, struct repository *repo);
>   int cmd_hook(int argc, const char **argv, const char *prefix, struct repository *repo);
>   int cmd_index_pack(int argc, const char **argv, const char *prefix, struct repository *repo);
>   int cmd_init_db(int argc, const char **argv, const char *prefix, struct repository *repo);
> diff --git a/builtin/history.c b/builtin/history.c
> new file mode 100644
> index 00000000000..f6fe32610b0
> --- /dev/null
> +++ b/builtin/history.c
> @@ -0,0 +1,22 @@
> +#include "builtin.h"
> +#include "gettext.h"
> +#include "parse-options.h"
> +
> +int cmd_history(int argc,
> +		const char **argv,
> +		const char *prefix,
> +		struct repository *repo UNUSED)
> +{
> +	const char * const usage[] = {
> +		N_("git history [<options>]"),
> +		NULL,
> +	};
> +	struct option options[] = {
> +		OPT_END(),
> +	};
> +
> +	argc = parse_options(argc, argv, prefix, options, usage, 0);
> +	if (argc)
> +		usagef("unrecognized argument: %s", argv[0]);
> +	return 0;
> +}
> diff --git a/command-list.txt b/command-list.txt
> index accd3d0c4b5..f9005cf4597 100644
> --- a/command-list.txt
> +++ b/command-list.txt
> @@ -115,6 +115,7 @@ git-grep                                mainporcelain           info
>   git-gui                                 mainporcelain
>   git-hash-object                         plumbingmanipulators
>   git-help                                ancillaryinterrogators          complete
> +git-history                             mainporcelain           history
>   git-hook                                purehelpers
>   git-http-backend                        synchingrepositories
>   git-http-fetch                          synchelpers
> diff --git a/git.c b/git.c
> index c5fad56813f..744cb6527e0 100644
> --- a/git.c
> +++ b/git.c
> @@ -586,6 +586,7 @@ static struct cmd_struct commands[] = {
>   	{ "grep", cmd_grep, RUN_SETUP_GENTLY },
>   	{ "hash-object", cmd_hash_object },
>   	{ "help", cmd_help },
> +	{ "history", cmd_history, RUN_SETUP },
>   	{ "hook", cmd_hook, RUN_SETUP },
>   	{ "index-pack", cmd_index_pack, RUN_SETUP_GENTLY | NO_PARSEOPT },
>   	{ "init", cmd_init_db },
> diff --git a/meson.build b/meson.build
> index ae8d4fef059..2d789612a01 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -604,6 +604,7 @@ builtin_sources = [
>     'builtin/grep.c',
>     'builtin/hash-object.c',
>     'builtin/help.c',
> +  'builtin/history.c',
>     'builtin/hook.c',
>     'builtin/index-pack.c',
>     'builtin/init-db.c',
> diff --git a/t/meson.build b/t/meson.build
> index 401b24e50e0..019435918fa 100644
> --- a/t/meson.build
> +++ b/t/meson.build
> @@ -384,6 +384,7 @@ integration_tests = [
>     't3436-rebase-more-options.sh',
>     't3437-rebase-fixup-options.sh',
>     't3438-rebase-broken-files.sh',
> +  't3450-history.sh',
>     't3500-cherry.sh',
>     't3501-revert-cherry-pick.sh',
>     't3502-cherry-pick-merge.sh',
> diff --git a/t/t3450-history.sh b/t/t3450-history.sh
> new file mode 100755
> index 00000000000..417c343d43b
> --- /dev/null
> +++ b/t/t3450-history.sh
> @@ -0,0 +1,17 @@
> +#!/bin/sh
> +
> +test_description='tests for git-history command'
> +
> +. ./test-lib.sh
> +
> +test_expect_success 'does nothing without any arguments' '
> +	git history >out 2>&1 &&
> +	test_must_be_empty out
> +'
> +
> +test_expect_success 'raises an error with unknown argument' '
> +	test_must_fail git history garbage 2>err &&
> +	test_grep "unrecognized argument: garbage" err
> +'
> +
> +test_done
> 


  reply	other threads:[~2025-11-17 16:28 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 [this message]
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
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=cca1e594-6685-4f9e-a57d-8419ccc6fa68@gmail.com \
    --to=phillip.wood123@gmail$(echo .)com \
    --cc=ben.knoble@gmail$(echo .)com \
    --cc=git@vger$(echo .)kernel.org \
    --cc=gitster@pobox$(echo .)com \
    --cc=jn.avila@free$(echo .)fr \
    --cc=karthik.188@gmail$(echo .)com \
    --cc=kristofferhaugsbakk@fastmail$(echo .)com \
    --cc=martinvonz@gmail$(echo .)com \
    --cc=newren@gmail$(echo .)com \
    --cc=phillip.wood@dunelm$(echo .)org.uk \
    --cc=ps@pks$(echo .)im \
    --cc=sorganov@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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