Web lists-archives.com

Re: [PATCH] implicit interactive rebase: don't run sequence editor




Phillip Wood <phillip.wood@xxxxxxxxxxxx> writes:

> From: Phillip Wood <phillip.wood@xxxxxxxxxxxxx>
>
> If GIT_SEQUENCE_EDITOR is set then rebase runs it when executing
> implicit interactive rebases which are supposed to appear
> non-interactive to the user. Fix this by setting GIT_SEQUENCE_EDITOR=:
> rather than GIT_EDITOR=:. A couple of tests relied on the old behavior
> so they are updated to work with the new regime.
>
> Signed-off-by: Phillip Wood <phillip.wood@xxxxxxxxxxxxx>
> ---

Good eyes, and an excellent execution to override the more specific
one ;-)

>  builtin/rebase.c                   |  5 +++--
>  git-legacy-rebase.sh               |  4 ++--
>  t/t3404-rebase-interactive.sh      |  5 +++++
>  t/t3430-rebase-merges.sh           |  2 +-
>  t/t7505-prepare-commit-msg-hook.sh | 10 +++++-----
>  5 files changed, 16 insertions(+), 10 deletions(-)
>
> diff --git a/builtin/rebase.c b/builtin/rebase.c
> index 00de70365e..7c11b4ac7f 100644
> --- a/builtin/rebase.c
> +++ b/builtin/rebase.c
> @@ -354,7 +354,8 @@ static int run_specific_rebase(struct rebase_options *opts)
>  		argv_array_pushf(&child.env_array, "GIT_CHERRY_PICK_HELP=%s",
>  				 resolvemsg);
>  		if (!(opts->flags & REBASE_INTERACTIVE_EXPLICIT)) {
> -			argv_array_push(&child.env_array, "GIT_EDITOR=:");
> +			argv_array_push(&child.env_array,
> +					"GIT_SEQUENCE_EDITOR=:");
>  			opts->autosquash = 0;
>  		}
>  
> @@ -475,7 +476,7 @@ static int run_specific_rebase(struct rebase_options *opts)
>  	if (is_interactive(opts) &&
>  	    !(opts->flags & REBASE_INTERACTIVE_EXPLICIT)) {
>  		strbuf_addstr(&script_snippet,
> -			      "GIT_EDITOR=:; export GIT_EDITOR; ");
> +			      "GIT_SEQUENCE_EDITOR=:; export GIT_SEQUENCE_EDITOR; ");
>  		opts->autosquash = 0;
>  	}