[PATCH v2 0/1] Make rebase.reschedulefailedexec less overzealous
- From
Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Jul 1, 2019, 11:58 UTC
- Message-ID
- <pull.253.v2.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.253.git.gitgitgadget@gmail.com>
This config setting is pretty useful, but it unfortunately stops all non-interactive rebases with a bogus error message. This patch fixes that.
Reported via a commit comment on GitHub [https://github.com/git/git/commit/969de3ff0e0#commitcomment-33257187].
Changes since v1:
* Based on Junio's advice, the commit message was improved considerably. * The error message now also mentions --exec, so that users do not have to know that --exec implies the interactive backend.
Johannes Schindelin (1): rebase --am: ignore rebase.reschedulefailedexec
builtin/rebase.c | 10 +++++++--- t/t3418-rebase-continue.sh | 8 ++++++++ 2 files changed, 15 insertions(+), 3 deletions(-)
base-commit: e11ff8975bedc0aae82632c3cb72578c3d7fc0b2 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-253%2Fdscho%2Freschedule-failed-exec-gently-v2 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-253/dscho/reschedule-failed-exec-gently-v2 Pull-Request: https://github.com/gitgitgadget/git/pull/253
Range-diff vs v1:
1: fab124da41 ! 1: beaeb24bc0 Let rebase.reschedulefailedexec only affect interactive rebases
@@ -1,9 +1,13 @@
Author: Johannes Schindelin <johannes.schindelin@gmx.de>
- Let rebase.reschedulefailedexec only affect interactive rebases
+ rebase --am: ignore rebase.reschedulefailedexec
- It does not make sense to stop non-interactive rebases when that config
- setting is set to `true`.
+ The `exec` command is specific to the interactive backend, therefore it
+ does not make sense for non-interactive rebases to heed that config
+ setting.
+
+ We still want to error out if a non-interactive rebase is started with
+ `--reschedule-failed-exec`, of course.
Reported by Vas Sudanagunta via:
https://github.com/git/git/commit/969de3ff0e0#commitcomment-33257187
@@ -35,8 +39,10 @@
}
- if (options.reschedule_failed_exec && !is_interactive(&options))
+- die(_("--reschedule-failed-exec requires an interactive rebase"));
+ if (reschedule_failed_exec > 0 && !is_interactive(&options))
- die(_("--reschedule-failed-exec requires an interactive rebase"));
++ die(_("--reschedule-failed-exec requires "
++ "--exec or --interactive"));
+ if (reschedule_failed_exec >= 0)
+ options.reschedule_failed_exec = reschedule_failed_exec;
-- gitgitgadget