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

[PATCH v4 2/4] rebase: support --autosquash without -i

From
Andy Koppe <andy.koppe@gmail.com>
Date
Nov 11, 2023, 13:27 UTC
Message-ID
<20231111132720.78877-3-andy.koppe@gmail.com>
In-Reply-To
<20231111132720.78877-1-andy.koppe@gmail.com>

The --autosquash option prevents preemptive fast-forwarding and triggers conflicts with amend backend options, yet it only actually performs auto-squashing when combined with the --interactive (or -i) option.

Remove the latter restriction and tweak the --autosquash description accordingly.

Signed-off-by: Andy Koppe <andy.koppe@gmail.com>
---
 Documentation/git-rebase.txt | 2 +-
 builtin/rebase.c             | 4 +---
 2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index b4526ca246..10548e715c 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -592,7 +592,7 @@ See also INCOMPATIBLE OPTIONS below.
 	When the commit log message begins with "squash! ..." or "fixup! ..."
 	or "amend! ...", and there is already a commit in the todo list that
 	matches the same `...`, automatically modify the todo list of
-	`rebase -i`, so that the commit marked for squashing comes right after
+	`rebase`, so that the commit marked for squashing comes right after
 	the commit to be modified, and change the action of the moved commit
 	from `pick` to `squash` or `fixup` or `fixup -C` respectively. A commit
 	matches the `...` if the commit subject matches, or if the `...` refers
diff --git a/builtin/rebase.c b/builtin/rebase.c
index a73de7892b..9f8192e0a5 100644
--- a/builtin/rebase.c
+++ b/builtin/rebase.c
@@ -710,10 +710,8 @@ static int run_specific_rebase(struct rebase_options *opts)
 	if (opts->type == REBASE_MERGE) {
 		/* Run sequencer-based rebase */
 		setenv("GIT_CHERRY_PICK_HELP", resolvemsg, 1);
-		if (!(opts->flags & REBASE_INTERACTIVE_EXPLICIT)) {
+		if (!(opts->flags & REBASE_INTERACTIVE_EXPLICIT))
 			setenv("GIT_SEQUENCE_EDITOR", ":", 1);
-			opts->autosquash = 0;
-		}
 		if (opts->gpg_sign_opt) {
 			/* remove the leading "-S" */
 			char *tmp = xstrdup(opts->gpg_sign_opt + 2);
-- 
2.43.0-rc1
Previous: Andy KoppeNext: Phillip Wood
Message 13 of 32 in “rebase: support non-interactive autosquash”
  1. 1/2 rebase: support non-interactive autosquashAndy Koppe, Nov 3, 2023
  2. 2/2 docs: rewrite rebase --(no-)autosquash descriptionAndy Koppe, Nov 3, 2023
  3. Junio C HamanoNov 4, 2023
  4. Andy KoppeNov 4, 2023
  5. 1/2 rebase: support non-interactive autosquashAndy Koppe, Nov 4, 2023
  6. 2/2 docs: rewrite rebase --(no-)autosquash descriptionAndy Koppe, Nov 4, 2023
  7. 1/2 rebase: support non-interactive autosquashAndy Koppe, Nov 5, 2023
  8. 2/2 docs: rewrite rebase --(no-)autosquash descriptionAndy Koppe, Nov 5, 2023
  9. Phillip WoodNov 6, 2023
  10. Phillip WoodNov 6, 2023
  11. Andy KoppeNov 11, 2023
  12. 0/4 rebase: support --autosquash without -iAndy Koppe, Nov 11, 2023
  13. 2/4 rebase: support --autosquash without -iAndy Koppe, Nov 11, 2023
  14. Phillip WoodNov 13, 2023
  15. 1/4 rebase: fully ignore rebase.autoSquash without -iAndy Koppe, Nov 11, 2023
  16. Phillip WoodNov 13, 2023
  17. 4/4 docs: rewrite rebase --(no-)autosquash descriptionAndy Koppe, Nov 11, 2023
  18. Andy KoppeNov 11, 2023
  19. 3/4 rebase: test autosquash with and without -iAndy Koppe, Nov 11, 2023
  20. Junio C HamanoNov 13, 2023
  21. Phillip WoodNov 13, 2023
  22. 4/4 rebase: rewrite --(no-)autosquash documentationAndy Koppe, Nov 11, 2023
  23. Junio C HamanoNov 13, 2023
  24. Phillip WoodNov 13, 2023
  25. 0/3 rebase: support --autosquash without -iAndy Koppe, Nov 14, 2023
  26. 1/3 rebase: fully ignore rebase.autoSquash without -iAndy Koppe, Nov 14, 2023
  27. 2/3 rebase: support --autosquash without -iAndy Koppe, Nov 14, 2023
  28. 3/3 rebase: rewrite --(no-)autosquash documentationAndy Koppe, Nov 14, 2023
  29. Phillip WoodNov 15, 2023
  30. Junio C HamanoNov 16, 2023
  31. Junio C HamanoNov 6, 2023
  32. Andy KoppeNov 11, 2023

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.