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

[PATCH v2 0/1] Deprecate git rebase --preserve-merges

From
Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>
Date
Mar 11, 2019, 19:57 UTC
Message-ID
<pull.158.v2.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.158.git.gitgitgadget@gmail.com>

It had a good run, but its design was irreparably limited. So I came up with a redesign:--rebase-merges. It seems to work all right, so now it is time to start letting go of the previous design.

Changes since v1:
 * The term --rebase-merges is now marked as such in the deprecation notice
   in git rebase's manual.
 * The deprecation warning is now printed only in builtin/rebase.c, not
   repeated in git-rebase--preserve-merges.sh.
Johannes Schindelin (1):
  rebase: deprecate --preserve-merges
 Documentation/config/branch.txt |  6 +++---
 Documentation/config/pull.txt   |  6 +++---
 Documentation/git-rebase.txt    | 23 ++++++++++++-----------
 builtin/rebase.c                |  8 ++++++--
 4 files changed, 24 insertions(+), 19 deletions(-)
base-commit: e902e9bcae2010bc42648c80ab6adc6c5a16a4a5
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-158%2Fdscho%2Fdeprecate-rebase-p-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-158/dscho/deprecate-rebase-p-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/158
Range-diff vs v1:
 1:  6407430da7 ! 1:  f6990f28c0 rebase: deprecate --preserve-merges
     @@ -65,7 +65,7 @@
      -	Recreate merge commits instead of flattening the history by replaying
      -	commits a merge commit introduces. Merge conflict resolutions or manual
      -	amendments to merge commits are not preserved.
     -+	[DEPRECATED: use --rebase-merges instead] Recreate merge commits
     ++	[DEPRECATED: use `--rebase-merges` instead] Recreate merge commits
      +	instead of flattening the history by replaying commits a merge commit
      +	introduces. Merge conflict resolutions or manual amendments to merge
      +	commits are not preserved.
     @@ -109,22 +109,9 @@
       				   builtin_rebase_options);
       
      +	if (options.type == REBASE_PRESERVE_MERGES)
     -+		warning(_("--preserve-merges is deprecated in favor of "
     -+			  "--rebase-merges"));
     ++		warning(_("git rebase --preserve-merges is deprecated. "
     ++			  "Use --rebase-merges instead."));
      +
       	if (action != NO_ACTION && !in_progress)
       		die(_("No rebase in progress?"));
       	setenv(GIT_REFLOG_ACTION_ENVIRONMENT, "rebase", 0);
     -
     - diff --git a/git-rebase--preserve-merges.sh b/git-rebase--preserve-merges.sh
     - --- a/git-rebase--preserve-merges.sh
     - +++ b/git-rebase--preserve-merges.sh
     -@@
     - 	printf '%s\n' "$*" >&2
     - }
     - 
     -+warn "git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
     -+
     - # Output the commit message for the specified commit.
     - commit_message () {
     - 	git cat-file commit "$1" | sed "1,/^$/d"
-- 
gitgitgadget
Previous: Johannes SchindelinNext: Johannes Schindelin via GitGitGadget
Message 7 of 10 in “Deprecate git rebase --preserve-merges”
  1. 0/1 Deprecate git rebase --preserve-mergesJohannes Schindelin via GitGitGadget, Mar 7, 2019
  2. 1/1 rebase: deprecate --preserve-mergesJohannes Schindelin via GitGitGadget, Mar 7, 2019
  3. Phillip WoodMar 7, 2019
  4. Johannes SchindelinMar 11, 2019
  5. Eric SunshineMar 7, 2019
  6. Johannes SchindelinMar 11, 2019
  7. 0/1 Deprecate git rebase --preserve-mergesJohannes Schindelin via GitGitGadget, Mar 11, 2019
  8. 1/1 rebase: deprecate --preserve-mergesJohannes Schindelin via GitGitGadget, Mar 11, 2019
  9. Ævar Arnfjörð BjarmasonMay 2, 2019
  10. Johannes SchindelinMay 9, 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.