git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[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
Previous: Johannes SchindelinNext: Johannes Schindelin via GitGitGadget
Message 11 of 13 in “Make rebase.reschedulefailedexec less overzealous”
  1. 0/1 Make rebase.reschedulefailedexec less overzealousJohannes Schindelin via GitGitGadget, Jun 27, 2019
  2. 1/1 Let rebase.reschedulefailedexec only affect interactive rebasesJohannes Schindelin via GitGitGadget, Jun 27, 2019
  3. Junio C HamanoJun 27, 2019
  4. Johannes SchindelinJun 28, 2019
  5. Phillip WoodJun 28, 2019
  6. Junio C HamanoJun 28, 2019
  7. Vas SudanaguntaJun 28, 2019
  8. Phillip WoodJun 30, 2019
  9. Johannes SchindelinJul 1, 2019
  10. Johannes SchindelinJul 1, 2019
  11. 0/1 Make rebase.reschedulefailedexec less overzealousJohannes Schindelin via GitGitGadget, Jul 1, 2019
  12. 1/1 rebase --am: ignore rebase.reschedulefailedexecJohannes Schindelin via GitGitGadget, Jul 1, 2019
  13. Johannes SchindelinJul 1, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.