Andrew Wong <[email protected]> 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 <[email protected]>
> ---
> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html