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