]> Kevux Git Server - rit/commitdiff
pull: remove support for `--rebase=preserve`
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Tue, 7 Sep 2021 21:05:05 +0000 (21:05 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 8 Sep 2021 04:45:32 +0000 (21:45 -0700)
In preparation for `git-rebase--preserve-merges.sh` entering its after
life, we remove this (deprecated) option that would still rely on it.

To help users transition who still did not receive the memo about the
deprecation, we offer a helpful error message instead of throwing our
hands in the air and saying that we don't know that option, never heard
of it.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Reviewed-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config/branch.txt
Documentation/config/pull.txt
Documentation/git-pull.txt
builtin/pull.c
contrib/completion/git-completion.bash
rebase.c
rebase.h

index cc5f324..d323d73 100644 (file)
@@ -85,10 +85,6 @@ When `merges` (or just 'm'), pass the `--rebase-merges` option to 'git rebase'
 so that the local merge commits are included in the rebase (see
 linkgit:git-rebase[1] for details).
 +
-When `preserve` (or just 'p', deprecated in favor of `merges`), also pass
-`--preserve-merges` along to 'git rebase' so that locally committed merge
-commits will not be flattened by running 'git pull'.
-+
 When the value is `interactive` (or just 'i'), the rebase is run in interactive
 mode.
 +
index 5404830..9349e09 100644 (file)
@@ -18,10 +18,6 @@ When `merges` (or just 'm'), pass the `--rebase-merges` option to 'git rebase'
 so that the local merge commits are included in the rebase (see
 linkgit:git-rebase[1] for details).
 +
-When `preserve` (or just 'p', deprecated in favor of `merges`), also pass
-`--preserve-merges` along to 'git rebase' so that locally committed merge
-commits will not be flattened by running 'git pull'.
-+
 When the value is `interactive` (or just 'i'), the rebase is run in interactive
 mode.
 +
index 7f4b2d1..7144690 100644 (file)
@@ -102,7 +102,7 @@ Options related to merging
 include::merge-options.txt[]
 
 -r::
---rebase[=false|true|merges|preserve|interactive]::
+--rebase[=false|true|merges|interactive]::
        When true, rebase the current branch on top of the upstream
        branch after fetching. If there is a remote-tracking branch
        corresponding to the upstream branch and the upstream branch
@@ -113,10 +113,6 @@ When set to `merges`, rebase using `git rebase --rebase-merges` so that
 the local merge commits are included in the rebase (see
 linkgit:git-rebase[1] for details).
 +
-When set to `preserve` (deprecated in favor of `merges`), rebase with the
-`--preserve-merges` option passed to `git rebase` so that locally created
-merge commits will not be flattened.
-+
 When false, merge the upstream branch into the current branch.
 +
 When `interactive`, enable the interactive mode of rebase.
index 3e13f81..bda5c32 100644 (file)
@@ -30,9 +30,8 @@
 /**
  * Parses the value of --rebase. If value is a false value, returns
  * REBASE_FALSE. If value is a true value, returns REBASE_TRUE. If value is
- * "merges", returns REBASE_MERGES. If value is "preserve", returns
- * REBASE_PRESERVE. If value is a invalid value, dies with a fatal error if
- * fatal is true, otherwise returns REBASE_INVALID.
+ * "merges", returns REBASE_MERGES. If value is a invalid value, dies with
+ * a fatal error if fatal is true, otherwise returns REBASE_INVALID.
  */
 static enum rebase_type parse_config_rebase(const char *key, const char *value,
                int fatal)
@@ -126,7 +125,7 @@ static struct option pull_options[] = {
        /* Options passed to git-merge or git-rebase */
        OPT_GROUP(N_("Options related to merging")),
        OPT_CALLBACK_F('r', "rebase", &opt_rebase,
-               "(false|true|merges|preserve|interactive)",
+               "(false|true|merges|interactive)",
                N_("incorporate changes by rebasing rather than merging"),
                PARSE_OPT_OPTARG, parse_opt_rebase),
        OPT_PASSTHRU('n', NULL, &opt_diffstat, NULL,
@@ -883,8 +882,6 @@ static int run_rebase(const struct object_id *newbase,
        /* Options passed to git-rebase */
        if (opt_rebase == REBASE_MERGES)
                strvec_push(&args, "--rebase-merges");
-       else if (opt_rebase == REBASE_PRESERVE)
-               strvec_push(&args, "--preserve-merges");
        else if (opt_rebase == REBASE_INTERACTIVE)
                strvec_push(&args, "--interactive");
        if (opt_diffstat)
index 4bdd27d..5dab8bd 100644 (file)
@@ -2543,7 +2543,7 @@ __git_complete_config_variable_value ()
                return
                ;;
        branch.*.rebase)
-               __gitcomp "false true merges preserve interactive" "" "$cur_"
+               __gitcomp "false true merges interactive" "" "$cur_"
                return
                ;;
        remote.pushdefault)
index f8137d8..6775cdd 100644 (file)
--- a/rebase.c
+++ b/rebase.c
@@ -1,5 +1,6 @@
 #include "rebase.h"
 #include "config.h"
+#include "gettext.h"
 
 /*
  * Parses textual value for pull.rebase, branch.<name>.rebase, etc.
@@ -20,12 +21,12 @@ enum rebase_type rebase_parse_value(const char *value)
                return REBASE_FALSE;
        else if (v > 0)
                return REBASE_TRUE;
-       else if (!strcmp(value, "preserve") || !strcmp(value, "p"))
-               return REBASE_PRESERVE;
        else if (!strcmp(value, "merges") || !strcmp(value, "m"))
                return REBASE_MERGES;
        else if (!strcmp(value, "interactive") || !strcmp(value, "i"))
                return REBASE_INTERACTIVE;
+       else if (!strcmp(value, "preserve") || !strcmp(value, "p"))
+               error(_("%s: 'preserve' superseded by 'merges'"), value);
        /*
         * Please update _git_config() in git-completion.bash when you
         * add new rebase modes.
index cc723d4..203b437 100644 (file)
--- a/rebase.h
+++ b/rebase.h
@@ -5,7 +5,6 @@ enum rebase_type {
        REBASE_INVALID = -1,
        REBASE_FALSE = 0,
        REBASE_TRUE,
-       REBASE_PRESERVE,
        REBASE_MERGES,
        REBASE_INTERACTIVE
 };