summaryrefslogtreecommitdiff
path: root/git-rebase--interactive.sh
diff options
context:
space:
mode:
authorAndrew Wong <andrew.kw.w@gmail.com>2012-09-17 21:28:09 -0400
committerJunio C Hamano <gitster@pobox.com>2012-09-17 20:59:14 -0700
commiteb9a7cb4bdbd4ea9c7e7ef2ca8de5b2753e3584c (patch)
treedbf2f2079d2d34e28d7abe3c3cc1f1fdc5ed9dfb /git-rebase--interactive.sh
parentfcc5ef1cc90ed49400bef51d306216f290eab9cc (diff)
downloadgit-eb9a7cb4bdbd4ea9c7e7ef2ca8de5b2753e3584c.tar.gz
rebase -i: Teach "--edit-todo" action
This allows users to edit the todo file while they're stopped in the middle of an interactive rebase. When this action is executed, all comments from the original todo file are stripped, and new help messages are appended to the end. Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-rebase--interactive.sh')
-rw-r--r--git-rebase--interactive.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index 4d57e50f2b..2b8f2a9f42 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -792,6 +792,23 @@ skip)
do_rest
;;
+edit-todo)
+ sed -e '/^#/d' < "$todo" > "$todo".new
+ mv -f "$todo".new "$todo"
+ append_todo_help
+ cat >> "$todo" << EOF
+#
+# You are editing the todo file of an ongoing interactive rebase.
+# To continue rebase after editing, run:
+# git rebase --continue
+#
+EOF
+
+ git_sequence_editor "$todo" ||
+ die "Could not execute editor"
+
+ exit
+ ;;
esac
git var GIT_COMMITTER_IDENT >/dev/null ||