Andrew Wong <andrew.kw.w@xxxxxxxxx> writes: > 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@xxxxxxxxx> > --- > Documentation/git-rebase.txt | 5 ++++- > git-rebase--interactive.sh | 16 ++++++++++++++++ > git-rebase.sh | 14 ++++++++++++++ > 3 files changed, 34 insertions(+), 1 deletion(-) > > diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt > index fd535b0..da067ec 100644 > --- a/Documentation/git-rebase.txt > +++ b/Documentation/git-rebase.txt > @@ -12,7 +12,7 @@ SYNOPSIS > [<upstream>] [<branch>] > 'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>] > --root [<branch>] > -'git rebase' --continue | --skip | --abort > +'git rebase' --continue | --skip | --abort | --edit-todo > > DESCRIPTION > ----------- > @@ -245,6 +245,9 @@ leave out at most one of A and B, in which case it defaults to HEAD. > --skip:: > Restart the rebasing process by skipping the current patch. > > +--edit-todo:: > + Edit the todo list during an interactive rebase. > + > -m:: > --merge:: > Use merging strategies to rebase. When the recursive (default) merge > diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh > index 4d57e50..ca55fac 100644 > --- a/git-rebase--interactive.sh > +++ b/git-rebase--interactive.sh > @@ -792,6 +792,22 @@ skip) > > do_rest > ;; > +edit-todo) > + sed -i '/^#/d' "$todo" > + append_todo_help I do not think the "sed -i" in-place edit is portable. AFAIK, it is not even in POSIX.1 In any case, what information are you discarding and then replacing with the standard boilerplate? > diff --git a/git-rebase.sh b/git-rebase.sh > index 15da926..e660203 100755 > --- a/git-rebase.sh > +++ b/git-rebase.sh > @@ -38,6 +38,7 @@ C=! passed to 'git apply' > continue! continue > abort! abort and check out the original branch > skip! skip current patch and continue > +edit-todo! edit the todo list during an interactive rebase > " > . git-sh-setup > . git-sh-i18n > @@ -194,6 +195,10 @@ do > test $total_argc -eq 2 || usage > action=${1##--} > ;; > + --edit-todo) > + test $total_argc -eq 2 || usage > + action=${1##--} > + ;; > --onto) > test 2 -le "$#" || usage > onto="$2" > @@ -306,6 +311,12 @@ then > fi > fi > > +if test "$action" = "edit-todo" && > + test "$type" != "interactive" I do not see a need to split this short expression into two lines. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html