Hi Elijah,

On Wed, 21 Nov 2018, Elijah Newren wrote:

> In commit f57696802c30 ("rebase: really just passthru the `git am`
> options", 2018-11-14), the handling of `git am` options was simplified
> dramatically (and an option parsing bug was fixed), but it introduced
> a small regression in the error message shown when options only
> understood by separate backends were used:
> 
> $ git rebase --keep --ignore-whitespace
> fatal: error: cannot combine interactive options (--interactive, --exec,
> --rebase-merges, --preserve-merges, --keep-empty, --root + --onto) with
> am options (.git/rebase-apply/applying)
> 
> $ git rebase --merge --ignore-whitespace
> fatal: error: cannot combine merge options (--merge, --strategy,
> --strategy-option) with am options (.git/rebase-apply/applying)
> 
> Note that in both cases, the list of "am options" is
> ".git/rebase-apply/applying", which makes no sense.  Since the lists of
> backend-specific options is documented pretty thoroughly in the rebase
> man page (in the "Incompatible Options" section, with multiple links
> throughout the document), and since I expect this list to change over
> time, just simplify the error message.
> 
> Signed-off-by: Elijah Newren <new...@gmail.com>
> ---

This patch is obviously good.

Given that you embedded it in the patch series that makes the sequencer
the work horse also for the `merge` backend of `git rebase` in addition to
the `interactive` one, may I assume that you intend this patch for post
v2.20.0?

Ciao,
Dscho

>  builtin/rebase.c     | 11 ++++-------
>  git-legacy-rebase.sh |  4 ++--
>  2 files changed, 6 insertions(+), 9 deletions(-)
> 
> diff --git a/builtin/rebase.c b/builtin/rebase.c
> index 5b3e5baec8..5ece134ae6 100644
> --- a/builtin/rebase.c
> +++ b/builtin/rebase.c
> @@ -1202,14 +1202,11 @@ int cmd_rebase(int argc, const char **argv, const 
> char *prefix)
>                               break;
>  
>               if (is_interactive(&options) && i >= 0)
> -                     die(_("error: cannot combine interactive options "
> -                           "(--interactive, --exec, --rebase-merges, "
> -                           "--preserve-merges, --keep-empty, --root + "
> -                           "--onto) with am options (%s)"), buf.buf);
> +                     die(_("error: cannot combine am options "
> +                           "with interactive options"));
>               if (options.type == REBASE_MERGE && i >= 0)
> -                     die(_("error: cannot combine merge options (--merge, "
> -                           "--strategy, --strategy-option) with am options "
> -                           "(%s)"), buf.buf);
> +                     die(_("error: cannot combine am options "
> +                           "with merge options "));
>       }
>  
>       if (options.signoff) {
> diff --git a/git-legacy-rebase.sh b/git-legacy-rebase.sh
> index b97ffdc9dd..0a747eb76c 100755
> --- a/git-legacy-rebase.sh
> +++ b/git-legacy-rebase.sh
> @@ -508,13 +508,13 @@ if test -n "$git_am_opt"; then
>       then
>               if test -n "$incompatible_opts"
>               then
> -                     die "$(gettext "error: cannot combine interactive 
> options (--interactive, --exec, --rebase-merges, --preserve-merges, 
> --keep-empty, --root + --onto) with am options ($incompatible_opts)")"
> +                     die "$(gettext "error: cannot combine am options with 
> interactive options")"
>               fi
>       fi
>       if test -n "$do_merge"; then
>               if test -n "$incompatible_opts"
>               then
> -                     die "$(gettext "error: cannot combine merge options 
> (--merge, --strategy, --strategy-option) with am options 
> ($incompatible_opts)")"
> +                     die "$(gettext "error: cannot combine am options with 
> merge options")"
>               fi
>       fi
>  fi
> -- 
> 2.20.0.rc1.7.g58371d377a
> 
> 

Reply via email to