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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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:
Signed-off-by: Michael Lohmann <mi.al.lohmann@xxxxxxxxx>
---
  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" },




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux