git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] rebase-interactive: show revert option and add single letter shortcut

From
PWPhillip Wood <phillip.wood123@gmail.com>
Date
Dec 18, 2023, 16:32 UTC
Message-ID
<c2489476-f23b-4c03-8651-d6a8799ff67c@gmail.com>
In-Reply-To
<20231218152313.72896-1-mi.al.lohmann@gmail.com>
Hi Michael

Thanks for the patch, I'm wondering why you want to revert a commit when you're rebasing. I think it would be helpful to explain that in the commit message. In particular why it is necessary to revert a commit rather than simply dropping it (presumably you're using rebase to do something more that just rework a series of commits)

Best Wishes
Phillip
On 18/12/2023 15:23, Michael Lohmann wrote:
Show 46 quoted lines
> Signed-off-by: Michael Lohmann <mi.al.lohmann@gmail.com>
> ---
>   Documentation/git-rebase.txt | 3 +++
>   rebase-interactive.c         | 1 +
>   sequencer.c                  | 2 +-
>   3 files changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
> index 1dd6555f66..75f6fe39a1 100644
> --- a/Documentation/git-rebase.txt
> +++ b/Documentation/git-rebase.txt
> @@ -911,6 +911,9 @@ commit, the message from the final one is used.  You can also use
>   "fixup -C" to get the same behavior as "fixup -c" except without opening
>   an editor.
>   
> +To revert a commit, add a line starting with "revert" followed by the commit
> +name.
> +
>   `git rebase` will stop when "pick" has been replaced with "edit" or
>   when a command fails due to merge errors. When you are done editing
>   and/or resolving conflicts you can continue with `git rebase --continue`.
> diff --git a/rebase-interactive.c b/rebase-interactive.c
> index d9718409b3..e1fd1e09e3 100644
> --- a/rebase-interactive.c
> +++ b/rebase-interactive.c
> @@ -53,6 +53,7 @@ void append_todo_help(int command_count,
>   "                   commit's log message, unless -C is used, in which case\n"
>   "                   keep only this commit's message; -c is same as -C but\n"
>   "                   opens the editor\n"
> +"v, revert <commit> = revert the changes introduced by that commit\n"
>   "x, exec <command> = run command (the rest of the line) using shell\n"
>   "b, break = stop here (continue rebase later with 'git rebase --continue')\n"
>   "d, drop <commit> = remove commit\n"
> diff --git a/sequencer.c b/sequencer.c
> index d584cac8ed..3c18f71ed6 100644
> --- a/sequencer.c
> +++ b/sequencer.c
> @@ -1767,7 +1767,7 @@ static struct {
>   	const char *str;
>   } todo_command_info[] = {
>   	[TODO_PICK] = { 'p', "pick" },
> -	[TODO_REVERT] = { 0,   "revert" },
> +	[TODO_REVERT] = { 'v', "revert" },
>   	[TODO_EDIT] = { 'e', "edit" },
>   	[TODO_REWORD] = { 'r', "reword" },
>   	[TODO_FIXUP] = { 'f', "fixup" },
Previous: Michael LohmannNext: Michael Lohmann
Message 4 of 8 in “Why is `revert` undocumented in interactive rebase todo help?”
  1. Michael LohmannDec 18, 2023
  2. Johannes SchindelinDec 18, 2023
  3. rebase-interactive: show revert option and add single letter shortcutMichael Lohmann, Dec 18, 2023
  4. Phillip WoodDec 18, 2023
  5. rebase-interactive: show revert option and add single letter shortcutMichael Lohmann, Dec 18, 2023
  6. Michael LohmannDec 18, 2023
  7. Junio C HamanoDec 18, 2023
  8. Michael LohmannDec 20, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.