From: Junio C Hamano Date: Thu, 7 Feb 2019 06:05:20 +0000 (-0800) Subject: Merge branch 'en/rebase-merge-on-sequencer' X-Git-Tag: v2.21.0-rc0~29 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/8fe9c3f21dff Merge branch 'en/rebase-merge-on-sequencer' "git rebase --merge" as been reimplemented by reusing the internal machinery used for "git rebase -i". * en/rebase-merge-on-sequencer: rebase: implement --merge via the interactive machinery rebase: define linearization ordering and enforce it git-legacy-rebase: simplify unnecessary triply-nested if git-rebase, sequencer: extend --quiet option for the interactive machinery am, rebase--merge: do not overlook --skip'ed commits with post-rewrite t5407: add a test demonstrating how interactive handles --skip differently rebase: fix incompatible options error message rebase: make builtin and legacy script error messages the same --- 8fe9c3f21dff206acb464d86cbd3bf4dbbb94f38 diff --cc builtin/rebase.c index fdeb41e899,d95843a8d4..3f9b26f729 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@@ -1290,20 -1238,15 +1280,20 @@@ int cmd_rebase(int argc, const char **a * git-rebase.txt caveats with "unless you know what you are doing" */ if (options.rebase_merges) - die(_("error: cannot combine '--preserve-merges' with " + die(_("cannot combine '--preserve-merges' with " "'--rebase-merges'")); + if (options.reschedule_failed_exec) + die(_("error: cannot combine '--preserve-merges' with " + "'--reschedule-failed-exec'")); + } + if (options.rebase_merges) { if (strategy_options.nr) - die(_("error: cannot combine '--rebase-merges' with " + die(_("cannot combine '--rebase-merges' with " "'--strategy-option'")); if (options.strategy) - die(_("error: cannot combine '--rebase-merges' with " + die(_("cannot combine '--rebase-merges' with " "'--strategy'")); } diff --cc git-legacy-rebase.sh index f03ca6c49a,0c9c19bc60..8d6c9aca65 --- a/git-legacy-rebase.sh +++ b/git-legacy-rebase.sh @@@ -552,10 -525,7 +544,10 @@@ the # Note: incompatibility with --interactive is just a strong warning; # git-rebase.txt caveats with "unless you know what you are doing" test -n "$rebase_merges" && - die "$(gettext "error: cannot combine '--preserve-merges' with '--rebase-merges'")" + die "$(gettext "fatal: cannot combine '--preserve-merges' with '--rebase-merges'")" + + test -n "$reschedule_failed_exec" && + die "$(gettext "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'")" fi if test -n "$rebase_merges" diff --cc sequencer.c index 213815dbfc,bc25615050..a6333abd39 --- a/sequencer.c +++ b/sequencer.c @@@ -157,8 -158,6 +158,7 @@@ static GIT_PATH_FUNC(rebase_path_autost static GIT_PATH_FUNC(rebase_path_strategy, "rebase-merge/strategy") static GIT_PATH_FUNC(rebase_path_strategy_opts, "rebase-merge/strategy_opts") static GIT_PATH_FUNC(rebase_path_allow_rerere_autoupdate, "rebase-merge/allow_rerere_autoupdate") - static GIT_PATH_FUNC(rebase_path_quiet, "rebase-merge/quiet") +static GIT_PATH_FUNC(rebase_path_reschedule_failed_exec, "rebase-merge/reschedule-failed-exec") static int git_sequencer_config(const char *k, const char *v, void *cb) { diff --cc sequencer.h index 5d7bc04751,729222b583..53b8679718 --- a/sequencer.h +++ b/sequencer.h @@@ -40,7 -39,7 +40,8 @@@ struct replay_opts int allow_empty_message; int keep_redundant_commits; int verbose; + int quiet; + int reschedule_failed_exec; int mainline;