rebase: fix incompatible options error message

In commit f57696802c ("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: 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: 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 <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Elijah Newren 2018-12-11 08:11:33 -08:00 committed by Junio C Hamano
parent c913c5964c
commit 72ee67319f
2 changed files with 5 additions and 9 deletions

View File

@ -1223,14 +1223,10 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
break; break;
if (is_interactive(&options) && i >= 0) if (is_interactive(&options) && i >= 0)
die(_("cannot combine interactive options " die(_("cannot combine am options "
"(--interactive, --exec, --rebase-merges, " "with interactive options"));
"--preserve-merges, --keep-empty, --root + "
"--onto) with am options (%s)"), buf.buf);
if (options.type == REBASE_MERGE && i >= 0) if (options.type == REBASE_MERGE && i >= 0)
die(_("cannot combine merge options (--merge, " die(_("cannot combine am options with merge options "));
"--strategy, --strategy-option) with am options "
"(%s)"), buf.buf);
} }
if (options.signoff) { if (options.signoff) {

View File

@ -508,13 +508,13 @@ if test -n "$git_am_opt"; then
then then
if test -n "$incompatible_opts" if test -n "$incompatible_opts"
then then
die "$(gettext "fatal: cannot combine interactive options (--interactive, --exec, --rebase-merges, --preserve-merges, --keep-empty, --root + --onto) with am options ($incompatible_opts)")" die "$(gettext "fatal: cannot combine am options with interactive options")"
fi fi
fi fi
if test -n "$do_merge"; then if test -n "$do_merge"; then
if test -n "$incompatible_opts" if test -n "$incompatible_opts"
then then
die "$(gettext "fatal: cannot combine merge options (--merge, --strategy, --strategy-option) with am options ($incompatible_opts)")" die "$(gettext "fatal: cannot combine am options with merge options")"
fi fi
fi fi
fi fi