From 72ee67319f703201631b33697291720afd4e1d66 Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Tue, 11 Dec 2018 08:11:33 -0800 Subject: rebase: fix incompatible options error message 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: 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 Signed-off-by: Junio C Hamano --- builtin/rebase.c | 10 +++------- git-legacy-rebase.sh | 4 ++-- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/builtin/rebase.c b/builtin/rebase.c index 85f980bdce..78e982298f 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -1223,14 +1223,10 @@ int cmd_rebase(int argc, const char **argv, const char *prefix) break; if (is_interactive(&options) && i >= 0) - die(_("cannot combine interactive options " - "(--interactive, --exec, --rebase-merges, " - "--preserve-merges, --keep-empty, --root + " - "--onto) with am options (%s)"), buf.buf); + die(_("cannot combine am options " + "with interactive options")); if (options.type == REBASE_MERGE && i >= 0) - die(_("cannot combine merge options (--merge, " - "--strategy, --strategy-option) with am options " - "(%s)"), buf.buf); + die(_("cannot combine am options with merge options ")); } if (options.signoff) { diff --git a/git-legacy-rebase.sh b/git-legacy-rebase.sh index 11548e927c..fccb33b959 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 "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 if test -n "$do_merge"; then if test -n "$incompatible_opts" 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 -- cgit v1.2.3