git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH 0/1] Deprecate git rebase --preserve-merges
@ 2019-03-07 10:00 Johannes Schindelin via GitGitGadget
  2019-03-07 10:00 ` [PATCH 1/1] rebase: deprecate --preserve-merges Johannes Schindelin via GitGitGadget
  2019-03-11 19:57 ` [PATCH v2 0/1] Deprecate git rebase --preserve-merges Johannes Schindelin via GitGitGadget
  0 siblings, 2 replies; 10+ messages in thread
From: Johannes Schindelin via GitGitGadget @ 2019-03-07 10:00 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano

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.

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 ++++++--
 git-rebase--preserve-merges.sh  |  2 ++
 5 files changed, 26 insertions(+), 19 deletions(-)


base-commit: 36eb1cb9cfe327583128a4b0abdf9516c2ca815b
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-158%2Fdscho%2Fdeprecate-rebase-p-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-158/dscho/deprecate-rebase-p-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/158
-- 
gitgitgadget

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/1] rebase: deprecate --preserve-merges
  2019-03-07 10:00 [PATCH 0/1] Deprecate git rebase --preserve-merges Johannes Schindelin via GitGitGadget
@ 2019-03-07 10:00 ` Johannes Schindelin via GitGitGadget
  2019-03-07 16:25   ` Phillip Wood
  2019-03-07 16:47   ` Eric Sunshine
  2019-03-11 19:57 ` [PATCH v2 0/1] Deprecate git rebase --preserve-merges Johannes Schindelin via GitGitGadget
  1 sibling, 2 replies; 10+ messages in thread
From: Johannes Schindelin via GitGitGadget @ 2019-03-07 10:00 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano, Johannes Schindelin

From: Johannes Schindelin <johannes.schindelin@gmx.de>

We have something much better now: --rebase-merges (which is a
complete re-design --preserve-merges, with a lot of issues fixed such as
the inability to reorder commits with --preserve-merges).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 Documentation/config/branch.txt |  6 +++---
 Documentation/config/pull.txt   |  6 +++---
 Documentation/git-rebase.txt    | 23 ++++++++++++-----------
 builtin/rebase.c                |  8 ++++++--
 git-rebase--preserve-merges.sh  |  2 ++
 5 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/Documentation/config/branch.txt b/Documentation/config/branch.txt
index 019d60ede2..8f4b3faadd 100644
--- a/Documentation/config/branch.txt
+++ b/Documentation/config/branch.txt
@@ -85,9 +85,9 @@ When `merges`, 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, also pass `--preserve-merges` along to 'git rebase'
-so that locally committed merge commits will not be flattened
-by running 'git pull'.
+When `preserve` (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`, the rebase is run in interactive mode.
 +
diff --git a/Documentation/config/pull.txt b/Documentation/config/pull.txt
index bb23a9947d..b87cab31b3 100644
--- a/Documentation/config/pull.txt
+++ b/Documentation/config/pull.txt
@@ -18,9 +18,9 @@ When `merges`, 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, also pass `--preserve-merges` along to 'git rebase'
-so that locally committed merge commits will not be flattened
-by running 'git pull'.
+When `preserve` (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`, the rebase is run in interactive mode.
 +
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index 5629ba4c5d..89202dbb93 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -415,9 +415,9 @@ i.e. commits that would be excluded by gitlink:git-log[1]'s
 the `rebase-cousins` mode is turned on, such commits are instead rebased
 onto `<upstream>` (or `<onto>`, if specified).
 +
-The `--rebase-merges` mode is similar in spirit to `--preserve-merges`, but
-in contrast to that option works well in interactive rebases: commits can be
-reordered, inserted and dropped at will.
+The `--rebase-merges` mode is similar in spirit to the deprecated
+`--preserve-merges`, but in contrast to that option works well in interactive
+rebases: commits can be reordered, inserted and dropped at will.
 +
 It is currently only possible to recreate the merge commits using the
 `recursive` merge strategy; Different merge strategies can be used only via
@@ -427,9 +427,10 @@ See also REBASING MERGES and INCOMPATIBLE OPTIONS below.
 
 -p::
 --preserve-merges::
-	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
+	instead of flattening the history by replaying commits a merge commit
+	introduces. Merge conflict resolutions or manual amendments to merge
+	commits are not preserved.
 +
 This uses the `--interactive` machinery internally, but combining it
 with the `--interactive` option explicitly is generally not a good
@@ -1020,11 +1021,11 @@ merge cmake
 
 BUGS
 ----
-The todo list presented by `--preserve-merges --interactive` does not
-represent the topology of the revision graph.  Editing commits and
-rewording their commit messages should work fine, but attempts to
-reorder commits tend to produce counterintuitive results. Use
-`--rebase-merges` in such scenarios instead.
+The todo list presented by the deprecated `--preserve-merges --interactive`
+does not represent the topology of the revision graph (use `--rebase-merges`
+instead).  Editing commits and rewording their commit messages should work
+fine, but attempts to reorder commits tend to produce counterintuitive results.
+Use `--rebase-merges` in such scenarios instead.
 
 For example, an attempt to rearrange
 ------------
diff --git a/builtin/rebase.c b/builtin/rebase.c
index 7c7bc13e91..c5f5edf321 100644
--- a/builtin/rebase.c
+++ b/builtin/rebase.c
@@ -1092,8 +1092,8 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
 			PARSE_OPT_NOARG | PARSE_OPT_NONEG,
 			parse_opt_interactive },
 		OPT_SET_INT('p', "preserve-merges", &options.type,
-			    N_("try to recreate merges instead of ignoring "
-			       "them"), REBASE_PRESERVE_MERGES),
+			    N_("(DEPRECATED) try to recreate merges instead of "
+			       "ignoring them"), REBASE_PRESERVE_MERGES),
 		OPT_BOOL(0, "rerere-autoupdate",
 			 &options.allow_rerere_autoupdate,
 			 N_("allow rerere to update index with resolved "
@@ -1204,6 +1204,10 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
 		usage_with_options(builtin_rebase_usage,
 				   builtin_rebase_options);
 
+	if (options.type == REBASE_PRESERVE_MERGES)
+		warning(_("--preserve-merges is deprecated in favor of "
+			  "--rebase-merges"));
+
 	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
index afbb65765d..eab2e40dc6 100644
--- a/git-rebase--preserve-merges.sh
+++ b/git-rebase--preserve-merges.sh
@@ -105,6 +105,8 @@ warn () {
 	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

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/1] rebase: deprecate --preserve-merges
  2019-03-07 10:00 ` [PATCH 1/1] rebase: deprecate --preserve-merges Johannes Schindelin via GitGitGadget
@ 2019-03-07 16:25   ` Phillip Wood
  2019-03-11 19:31     ` Johannes Schindelin
  2019-03-07 16:47   ` Eric Sunshine
  1 sibling, 1 reply; 10+ messages in thread
From: Phillip Wood @ 2019-03-07 16:25 UTC (permalink / raw)
  To: Johannes Schindelin via GitGitGadget, git
  Cc: Junio C Hamano, Johannes Schindelin

Hi Johannes

It's great to see this. Do we need the deprecation warning in both 
builtin/rebase.c and rebase--preserve-merges.sh? Won't that end up 
warning twice - maybe that's a good thing but if we go for only one I 
prefer the wording in rebase--preserve-merges.sh

Best Wishes

Phillip

On 07/03/2019 10:00, Johannes Schindelin via GitGitGadget wrote:
> From: Johannes Schindelin <johannes.schindelin@gmx.de>
> 
> We have something much better now: --rebase-merges (which is a
> complete re-design --preserve-merges, with a lot of issues fixed such as
> the inability to reorder commits with --preserve-merges).
> 
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
>   Documentation/config/branch.txt |  6 +++---
>   Documentation/config/pull.txt   |  6 +++---
>   Documentation/git-rebase.txt    | 23 ++++++++++++-----------
>   builtin/rebase.c                |  8 ++++++--
>   git-rebase--preserve-merges.sh  |  2 ++
>   5 files changed, 26 insertions(+), 19 deletions(-)
> 
> diff --git a/Documentation/config/branch.txt b/Documentation/config/branch.txt
> index 019d60ede2..8f4b3faadd 100644
> --- a/Documentation/config/branch.txt
> +++ b/Documentation/config/branch.txt
> @@ -85,9 +85,9 @@ When `merges`, 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, also pass `--preserve-merges` along to 'git rebase'
> -so that locally committed merge commits will not be flattened
> -by running 'git pull'.
> +When `preserve` (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`, the rebase is run in interactive mode.
>   +
> diff --git a/Documentation/config/pull.txt b/Documentation/config/pull.txt
> index bb23a9947d..b87cab31b3 100644
> --- a/Documentation/config/pull.txt
> +++ b/Documentation/config/pull.txt
> @@ -18,9 +18,9 @@ When `merges`, 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, also pass `--preserve-merges` along to 'git rebase'
> -so that locally committed merge commits will not be flattened
> -by running 'git pull'.
> +When `preserve` (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`, the rebase is run in interactive mode.
>   +
> diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
> index 5629ba4c5d..89202dbb93 100644
> --- a/Documentation/git-rebase.txt
> +++ b/Documentation/git-rebase.txt
> @@ -415,9 +415,9 @@ i.e. commits that would be excluded by gitlink:git-log[1]'s
>   the `rebase-cousins` mode is turned on, such commits are instead rebased
>   onto `<upstream>` (or `<onto>`, if specified).
>   +
> -The `--rebase-merges` mode is similar in spirit to `--preserve-merges`, but
> -in contrast to that option works well in interactive rebases: commits can be
> -reordered, inserted and dropped at will.
> +The `--rebase-merges` mode is similar in spirit to the deprecated
> +`--preserve-merges`, but in contrast to that option works well in interactive
> +rebases: commits can be reordered, inserted and dropped at will.
>   +
>   It is currently only possible to recreate the merge commits using the
>   `recursive` merge strategy; Different merge strategies can be used only via
> @@ -427,9 +427,10 @@ See also REBASING MERGES and INCOMPATIBLE OPTIONS below.
>   
>   -p::
>   --preserve-merges::
> -	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
> +	instead of flattening the history by replaying commits a merge commit
> +	introduces. Merge conflict resolutions or manual amendments to merge
> +	commits are not preserved.
>   +
>   This uses the `--interactive` machinery internally, but combining it
>   with the `--interactive` option explicitly is generally not a good
> @@ -1020,11 +1021,11 @@ merge cmake
>   
>   BUGS
>   ----
> -The todo list presented by `--preserve-merges --interactive` does not
> -represent the topology of the revision graph.  Editing commits and
> -rewording their commit messages should work fine, but attempts to
> -reorder commits tend to produce counterintuitive results. Use
> -`--rebase-merges` in such scenarios instead.
> +The todo list presented by the deprecated `--preserve-merges --interactive`
> +does not represent the topology of the revision graph (use `--rebase-merges`
> +instead).  Editing commits and rewording their commit messages should work
> +fine, but attempts to reorder commits tend to produce counterintuitive results.
> +Use `--rebase-merges` in such scenarios instead.
>   
>   For example, an attempt to rearrange
>   ------------
> diff --git a/builtin/rebase.c b/builtin/rebase.c
> index 7c7bc13e91..c5f5edf321 100644
> --- a/builtin/rebase.c
> +++ b/builtin/rebase.c
> @@ -1092,8 +1092,8 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
>   			PARSE_OPT_NOARG | PARSE_OPT_NONEG,
>   			parse_opt_interactive },
>   		OPT_SET_INT('p', "preserve-merges", &options.type,
> -			    N_("try to recreate merges instead of ignoring "
> -			       "them"), REBASE_PRESERVE_MERGES),
> +			    N_("(DEPRECATED) try to recreate merges instead of "
> +			       "ignoring them"), REBASE_PRESERVE_MERGES),
>   		OPT_BOOL(0, "rerere-autoupdate",
>   			 &options.allow_rerere_autoupdate,
>   			 N_("allow rerere to update index with resolved "
> @@ -1204,6 +1204,10 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
>   		usage_with_options(builtin_rebase_usage,
>   				   builtin_rebase_options);
>   
> +	if (options.type == REBASE_PRESERVE_MERGES)
> +		warning(_("--preserve-merges is deprecated in favor of "
> +			  "--rebase-merges"));
> +
>   	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
> index afbb65765d..eab2e40dc6 100644
> --- a/git-rebase--preserve-merges.sh
> +++ b/git-rebase--preserve-merges.sh
> @@ -105,6 +105,8 @@ warn () {
>   	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"
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/1] rebase: deprecate --preserve-merges
  2019-03-07 10:00 ` [PATCH 1/1] rebase: deprecate --preserve-merges Johannes Schindelin via GitGitGadget
  2019-03-07 16:25   ` Phillip Wood
@ 2019-03-07 16:47   ` Eric Sunshine
  2019-03-11 19:33     ` Johannes Schindelin
  1 sibling, 1 reply; 10+ messages in thread
From: Eric Sunshine @ 2019-03-07 16:47 UTC (permalink / raw)
  To: Johannes Schindelin via GitGitGadget
  Cc: Git List, Junio C Hamano, Johannes Schindelin

On Thu, Mar 7, 2019 at 6:11 AM Johannes Schindelin via GitGitGadget
<gitgitgadget@gmail.com> wrote:
> We have something much better now: --rebase-merges (which is a
> complete re-design --preserve-merges, with a lot of issues fixed such as
> the inability to reorder commits with --preserve-merges).
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
> diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
> @@ -427,9 +427,10 @@ See also REBASING MERGES and INCOMPATIBLE OPTIONS below.
>  --preserve-merges::
> +       [DEPRECATED: use --rebase-merges instead] Recreate merge commits

s/--rebase-merges/`&`/

> +       instead of flattening the history by replaying commits a merge commit
> +       introduces. Merge conflict resolutions or manual amendments to merge
> +       commits are not preserved.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/1] rebase: deprecate --preserve-merges
  2019-03-07 16:25   ` Phillip Wood
@ 2019-03-11 19:31     ` Johannes Schindelin
  0 siblings, 0 replies; 10+ messages in thread
From: Johannes Schindelin @ 2019-03-11 19:31 UTC (permalink / raw)
  To: phillip.wood; +Cc: Johannes Schindelin via GitGitGadget, git, Junio C Hamano

Hi Phillip,

On Thu, 7 Mar 2019, Phillip Wood wrote:

> It's great to see this. Do we need the deprecation warning in both
> builtin/rebase.c and rebase--preserve-merges.sh? Won't that end up warning
> twice - maybe that's a good thing but if we go for only one I prefer the
> wording in rebase--preserve-merges.sh

Good point.

I also considered adding a warning to the todo list, in case the rebase is
run interactively, but that would have required way too many changes in
the test suite (the test cases using `FAKE_LINES` select lines from the
todo list based on their line number, not their content, which does not
play well with inserting 3 lines with a warning at the beginning of the
todo list).

Ciao,
Dscho

> 
> Best Wishes
> 
> Phillip
> 
> On 07/03/2019 10:00, Johannes Schindelin via GitGitGadget wrote:
> > From: Johannes Schindelin <johannes.schindelin@gmx.de>
> > 
> > We have something much better now: --rebase-merges (which is a
> > complete re-design --preserve-merges, with a lot of issues fixed such as
> > the inability to reorder commits with --preserve-merges).
> > 
> > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> > ---
> >   Documentation/config/branch.txt |  6 +++---
> >   Documentation/config/pull.txt   |  6 +++---
> >   Documentation/git-rebase.txt    | 23 ++++++++++++-----------
> >   builtin/rebase.c                |  8 ++++++--
> >   git-rebase--preserve-merges.sh  |  2 ++
> >   5 files changed, 26 insertions(+), 19 deletions(-)
> > 
> > diff --git a/Documentation/config/branch.txt
> > b/Documentation/config/branch.txt
> > index 019d60ede2..8f4b3faadd 100644
> > --- a/Documentation/config/branch.txt
> > +++ b/Documentation/config/branch.txt
> > @@ -85,9 +85,9 @@ When `merges`, 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, also pass `--preserve-merges` along to 'git rebase'
> > -so that locally committed merge commits will not be flattened
> > -by running 'git pull'.
> > +When `preserve` (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`, the rebase is run in interactive mode.
> >   +
> > diff --git a/Documentation/config/pull.txt b/Documentation/config/pull.txt
> > index bb23a9947d..b87cab31b3 100644
> > --- a/Documentation/config/pull.txt
> > +++ b/Documentation/config/pull.txt
> > @@ -18,9 +18,9 @@ When `merges`, 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, also pass `--preserve-merges` along to 'git rebase'
> > -so that locally committed merge commits will not be flattened
> > -by running 'git pull'.
> > +When `preserve` (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`, the rebase is run in interactive mode.
> >   +
> > diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
> > index 5629ba4c5d..89202dbb93 100644
> > --- a/Documentation/git-rebase.txt
> > +++ b/Documentation/git-rebase.txt
> > @@ -415,9 +415,9 @@ i.e. commits that would be excluded by
> > gitlink:git-log[1]'s
> >   the `rebase-cousins` mode is turned on, such commits are instead rebased
> >   onto `<upstream>` (or `<onto>`, if specified).
> >   +
> > -The `--rebase-merges` mode is similar in spirit to `--preserve-merges`, but
> > -in contrast to that option works well in interactive rebases: commits can
> > be
> > -reordered, inserted and dropped at will.
> > +The `--rebase-merges` mode is similar in spirit to the deprecated
> > +`--preserve-merges`, but in contrast to that option works well in
> > interactive
> > +rebases: commits can be reordered, inserted and dropped at will.
> >   +
> >   It is currently only possible to recreate the merge commits using the
> >   `recursive` merge strategy; Different merge strategies can be used only
> >   via
> > @@ -427,9 +427,10 @@ See also REBASING MERGES and INCOMPATIBLE OPTIONS
> > below.
> >   
> >   -p::
> >   --preserve-merges::
> > -	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
> > +	instead of flattening the history by replaying commits a merge commit
> > +	introduces. Merge conflict resolutions or manual amendments to merge
> > +	commits are not preserved.
> >   +
> >   This uses the `--interactive` machinery internally, but combining it
> >   with the `--interactive` option explicitly is generally not a good
> > @@ -1020,11 +1021,11 @@ merge cmake
> >   
> >   BUGS
> >   ----
> > -The todo list presented by `--preserve-merges --interactive` does not
> > -represent the topology of the revision graph.  Editing commits and
> > -rewording their commit messages should work fine, but attempts to
> > -reorder commits tend to produce counterintuitive results. Use
> > -`--rebase-merges` in such scenarios instead.
> > +The todo list presented by the deprecated `--preserve-merges --interactive`
> > +does not represent the topology of the revision graph (use
> > `--rebase-merges`
> > +instead).  Editing commits and rewording their commit messages should work
> > +fine, but attempts to reorder commits tend to produce counterintuitive
> > results.
> > +Use `--rebase-merges` in such scenarios instead.
> >   
> >   For example, an attempt to rearrange
> >   ------------
> > diff --git a/builtin/rebase.c b/builtin/rebase.c
> > index 7c7bc13e91..c5f5edf321 100644
> > --- a/builtin/rebase.c
> > +++ b/builtin/rebase.c
> > @@ -1092,8 +1092,8 @@ int cmd_rebase(int argc, const char **argv, const char
> > *prefix)
> >      PARSE_OPT_NOARG | PARSE_OPT_NONEG,
> >      parse_opt_interactive },
> >   		OPT_SET_INT('p', "preserve-merges", &options.type,
> > -			    N_("try to recreate merges instead of ignoring "
> > -			       "them"), REBASE_PRESERVE_MERGES),
> > +			    N_("(DEPRECATED) try to recreate merges instead of
> > "
> > +			       "ignoring them"), REBASE_PRESERVE_MERGES),
> >     OPT_BOOL(0, "rerere-autoupdate",
> >       &options.allow_rerere_autoupdate,
> >       N_("allow rerere to update index with resolved "
> > @@ -1204,6 +1204,10 @@ int cmd_rebase(int argc, const char **argv, const
> > char *prefix)
> >     usage_with_options(builtin_rebase_usage,
> >          builtin_rebase_options);
> >   +	if (options.type == REBASE_PRESERVE_MERGES)
> > +		warning(_("--preserve-merges is deprecated in favor of "
> > +			  "--rebase-merges"));
> > +
> >    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
> > index afbb65765d..eab2e40dc6 100644
> > --- a/git-rebase--preserve-merges.sh
> > +++ b/git-rebase--preserve-merges.sh
> > @@ -105,6 +105,8 @@ warn () {
> >   	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"
> > 
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/1] rebase: deprecate --preserve-merges
  2019-03-07 16:47   ` Eric Sunshine
@ 2019-03-11 19:33     ` Johannes Schindelin
  0 siblings, 0 replies; 10+ messages in thread
From: Johannes Schindelin @ 2019-03-11 19:33 UTC (permalink / raw)
  To: Eric Sunshine
  Cc: Johannes Schindelin via GitGitGadget, Git List, Junio C Hamano

Hi Eric,

On Thu, 7 Mar 2019, Eric Sunshine wrote:

> On Thu, Mar 7, 2019 at 6:11 AM Johannes Schindelin via GitGitGadget
> <gitgitgadget@gmail.com> wrote:
> > We have something much better now: --rebase-merges (which is a
> > complete re-design --preserve-merges, with a lot of issues fixed such as
> > the inability to reorder commits with --preserve-merges).
> >
> > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> > ---
> > diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
> > @@ -427,9 +427,10 @@ See also REBASING MERGES and INCOMPATIBLE OPTIONS below.
> >  --preserve-merges::
> > +       [DEPRECATED: use --rebase-merges instead] Recreate merge commits
> 
> s/--rebase-merges/`&`/

Good point!

Thanks,
Dscho

> 
> > +       instead of flattening the history by replaying commits a merge commit
> > +       introduces. Merge conflict resolutions or manual amendments to merge
> > +       commits are not preserved.
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v2 1/1] rebase: deprecate --preserve-merges
  2019-03-11 19:57 ` [PATCH v2 0/1] Deprecate git rebase --preserve-merges Johannes Schindelin via GitGitGadget
@ 2019-03-11 19:57   ` Johannes Schindelin via GitGitGadget
  2019-05-02 14:52     ` Ævar Arnfjörð Bjarmason
  0 siblings, 1 reply; 10+ messages in thread
From: Johannes Schindelin via GitGitGadget @ 2019-03-11 19:57 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano, Johannes Schindelin

From: Johannes Schindelin <johannes.schindelin@gmx.de>

We have something much better now: --rebase-merges (which is a
complete re-design --preserve-merges, with a lot of issues fixed such as
the inability to reorder commits with --preserve-merges).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 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(-)

diff --git a/Documentation/config/branch.txt b/Documentation/config/branch.txt
index 019d60ede2..8f4b3faadd 100644
--- a/Documentation/config/branch.txt
+++ b/Documentation/config/branch.txt
@@ -85,9 +85,9 @@ When `merges`, 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, also pass `--preserve-merges` along to 'git rebase'
-so that locally committed merge commits will not be flattened
-by running 'git pull'.
+When `preserve` (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`, the rebase is run in interactive mode.
 +
diff --git a/Documentation/config/pull.txt b/Documentation/config/pull.txt
index bb23a9947d..b87cab31b3 100644
--- a/Documentation/config/pull.txt
+++ b/Documentation/config/pull.txt
@@ -18,9 +18,9 @@ When `merges`, 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, also pass `--preserve-merges` along to 'git rebase'
-so that locally committed merge commits will not be flattened
-by running 'git pull'.
+When `preserve` (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`, the rebase is run in interactive mode.
 +
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index 6363d674b7..44e00329e1 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -415,9 +415,9 @@ i.e. commits that would be excluded by linkgit:git-log[1]'s
 the `rebase-cousins` mode is turned on, such commits are instead rebased
 onto `<upstream>` (or `<onto>`, if specified).
 +
-The `--rebase-merges` mode is similar in spirit to `--preserve-merges`, but
-in contrast to that option works well in interactive rebases: commits can be
-reordered, inserted and dropped at will.
+The `--rebase-merges` mode is similar in spirit to the deprecated
+`--preserve-merges`, but in contrast to that option works well in interactive
+rebases: commits can be reordered, inserted and dropped at will.
 +
 It is currently only possible to recreate the merge commits using the
 `recursive` merge strategy; Different merge strategies can be used only via
@@ -427,9 +427,10 @@ See also REBASING MERGES and INCOMPATIBLE OPTIONS below.
 
 -p::
 --preserve-merges::
-	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
+	instead of flattening the history by replaying commits a merge commit
+	introduces. Merge conflict resolutions or manual amendments to merge
+	commits are not preserved.
 +
 This uses the `--interactive` machinery internally, but combining it
 with the `--interactive` option explicitly is generally not a good
@@ -1020,11 +1021,11 @@ merge cmake
 
 BUGS
 ----
-The todo list presented by `--preserve-merges --interactive` does not
-represent the topology of the revision graph.  Editing commits and
-rewording their commit messages should work fine, but attempts to
-reorder commits tend to produce counterintuitive results. Use
-`--rebase-merges` in such scenarios instead.
+The todo list presented by the deprecated `--preserve-merges --interactive`
+does not represent the topology of the revision graph (use `--rebase-merges`
+instead).  Editing commits and rewording their commit messages should work
+fine, but attempts to reorder commits tend to produce counterintuitive results.
+Use `--rebase-merges` in such scenarios instead.
 
 For example, an attempt to rearrange
 ------------
diff --git a/builtin/rebase.c b/builtin/rebase.c
index 52114cbf0d..21ac10f739 100644
--- a/builtin/rebase.c
+++ b/builtin/rebase.c
@@ -1100,8 +1100,8 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
 			PARSE_OPT_NOARG | PARSE_OPT_NONEG,
 			parse_opt_interactive },
 		OPT_SET_INT('p', "preserve-merges", &options.type,
-			    N_("try to recreate merges instead of ignoring "
-			       "them"), REBASE_PRESERVE_MERGES),
+			    N_("(DEPRECATED) try to recreate merges instead of "
+			       "ignoring them"), REBASE_PRESERVE_MERGES),
 		OPT_BOOL(0, "rerere-autoupdate",
 			 &options.allow_rerere_autoupdate,
 			 N_("allow rerere to update index with resolved "
@@ -1212,6 +1212,10 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
 		usage_with_options(builtin_rebase_usage,
 				   builtin_rebase_options);
 
+	if (options.type == REBASE_PRESERVE_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);
-- 
gitgitgadget

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 0/1] Deprecate git rebase --preserve-merges
  2019-03-07 10:00 [PATCH 0/1] Deprecate git rebase --preserve-merges Johannes Schindelin via GitGitGadget
  2019-03-07 10:00 ` [PATCH 1/1] rebase: deprecate --preserve-merges Johannes Schindelin via GitGitGadget
@ 2019-03-11 19:57 ` Johannes Schindelin via GitGitGadget
  2019-03-11 19:57   ` [PATCH v2 1/1] rebase: deprecate --preserve-merges Johannes Schindelin via GitGitGadget
  1 sibling, 1 reply; 10+ messages in thread
From: Johannes Schindelin via GitGitGadget @ 2019-03-11 19:57 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 1/1] rebase: deprecate --preserve-merges
  2019-03-11 19:57   ` [PATCH v2 1/1] rebase: deprecate --preserve-merges Johannes Schindelin via GitGitGadget
@ 2019-05-02 14:52     ` Ævar Arnfjörð Bjarmason
  2019-05-09 14:36       ` Johannes Schindelin
  0 siblings, 1 reply; 10+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2019-05-02 14:52 UTC (permalink / raw)
  To: Johannes Schindelin via GitGitGadget
  Cc: git, Junio C Hamano, Johannes Schindelin


On Mon, Mar 11 2019, Johannes Schindelin via GitGitGadget wrote:

> From: Johannes Schindelin <johannes.schindelin@gmx.de>
>
> We have something much better now: --rebase-merges (which is a
> complete re-design --preserve-merges, with a lot of issues fixed such as
> the inability to reorder commits with --preserve-merges).
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
>  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(-)
>
> diff --git a/Documentation/config/branch.txt b/Documentation/config/branch.txt
> index 019d60ede2..8f4b3faadd 100644
> --- a/Documentation/config/branch.txt
> +++ b/Documentation/config/branch.txt
> @@ -85,9 +85,9 @@ When `merges`, 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, also pass `--preserve-merges` along to 'git rebase'
> -so that locally committed merge commits will not be flattened
> -by running 'git pull'.
> +When `preserve` (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`, the rebase is run in interactive mode.
>  +
> diff --git a/Documentation/config/pull.txt b/Documentation/config/pull.txt
> index bb23a9947d..b87cab31b3 100644
> --- a/Documentation/config/pull.txt
> +++ b/Documentation/config/pull.txt
> @@ -18,9 +18,9 @@ When `merges`, 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, also pass `--preserve-merges` along to 'git rebase'
> -so that locally committed merge commits will not be flattened
> -by running 'git pull'.
> +When `preserve` (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`, the rebase is run in interactive mode.
>  +
> diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
> index 6363d674b7..44e00329e1 100644
> --- a/Documentation/git-rebase.txt
> +++ b/Documentation/git-rebase.txt
> @@ -415,9 +415,9 @@ i.e. commits that would be excluded by linkgit:git-log[1]'s
>  the `rebase-cousins` mode is turned on, such commits are instead rebased
>  onto `<upstream>` (or `<onto>`, if specified).
>  +
> -The `--rebase-merges` mode is similar in spirit to `--preserve-merges`, but
> -in contrast to that option works well in interactive rebases: commits can be
> -reordered, inserted and dropped at will.
> +The `--rebase-merges` mode is similar in spirit to the deprecated
> +`--preserve-merges`, but in contrast to that option works well in interactive
> +rebases: commits can be reordered, inserted and dropped at will.
>  +
>  It is currently only possible to recreate the merge commits using the
>  `recursive` merge strategy; Different merge strategies can be used only via
> @@ -427,9 +427,10 @@ See also REBASING MERGES and INCOMPATIBLE OPTIONS below.
>
>  -p::
>  --preserve-merges::
> -	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
> +	instead of flattening the history by replaying commits a merge commit
> +	introduces. Merge conflict resolutions or manual amendments to merge
> +	commits are not preserved.
>  +
>  This uses the `--interactive` machinery internally, but combining it
>  with the `--interactive` option explicitly is generally not a good
> @@ -1020,11 +1021,11 @@ merge cmake
>
>  BUGS
>  ----
> -The todo list presented by `--preserve-merges --interactive` does not
> -represent the topology of the revision graph.  Editing commits and
> -rewording their commit messages should work fine, but attempts to
> -reorder commits tend to produce counterintuitive results. Use
> -`--rebase-merges` in such scenarios instead.
> +The todo list presented by the deprecated `--preserve-merges --interactive`
> +does not represent the topology of the revision graph (use `--rebase-merges`
> +instead).  Editing commits and rewording their commit messages should work
> +fine, but attempts to reorder commits tend to produce counterintuitive results.
> +Use `--rebase-merges` in such scenarios instead.
>
>  For example, an attempt to rearrange
>  ------------
> diff --git a/builtin/rebase.c b/builtin/rebase.c
> index 52114cbf0d..21ac10f739 100644
> --- a/builtin/rebase.c
> +++ b/builtin/rebase.c
> @@ -1100,8 +1100,8 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
>  			PARSE_OPT_NOARG | PARSE_OPT_NONEG,
>  			parse_opt_interactive },
>  		OPT_SET_INT('p', "preserve-merges", &options.type,
> -			    N_("try to recreate merges instead of ignoring "
> -			       "them"), REBASE_PRESERVE_MERGES),
> +			    N_("(DEPRECATED) try to recreate merges instead of "
> +			       "ignoring them"), REBASE_PRESERVE_MERGES),
>  		OPT_BOOL(0, "rerere-autoupdate",
>  			 &options.allow_rerere_autoupdate,
>  			 N_("allow rerere to update index with resolved "
> @@ -1212,6 +1212,10 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
>  		usage_with_options(builtin_rebase_usage,
>  				   builtin_rebase_options);
>
> +	if (options.type == REBASE_PRESERVE_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);

An internal user reported the following "bug" they ran into:

 1. They ran "git pull --rebase=preserve"
 2. warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.

This is very confusing, since the user issued "--rebase=preserve", *not*
"--preserve-merges".

We could detect that we came from "git pull" and pass down the argv we
used blah blah, but how about just describing things a bit more in the
warning, e.g.:

    warning: the "preserve" backend for 'git rebase' has been
    deprecated. You invoked git with "rebase --preserve-merges", either
    directly, or via "pull --rebase=preserve".

    Use the new "rebase merges" backend of "git rebase" instead, invoked
    via "rebase --rebase-merges" or "pull --rebase=merges". Note that
    the new backend may yield different results, see the "git rebase"
    documentation for details.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 1/1] rebase: deprecate --preserve-merges
  2019-05-02 14:52     ` Ævar Arnfjörð Bjarmason
@ 2019-05-09 14:36       ` Johannes Schindelin
  0 siblings, 0 replies; 10+ messages in thread
From: Johannes Schindelin @ 2019-05-09 14:36 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Johannes Schindelin via GitGitGadget, git, Junio C Hamano

[-- Attachment #1: Type: text/plain, Size: 2194 bytes --]

Hi Ævar,

On Thu, 2 May 2019, Ævar Arnfjörð Bjarmason wrote:

> On Mon, Mar 11 2019, Johannes Schindelin via GitGitGadget wrote:
>
> > From: Johannes Schindelin <johannes.schindelin@gmx.de>
> >
> > @@ -1212,6 +1212,10 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
> >  		usage_with_options(builtin_rebase_usage,
> >  				   builtin_rebase_options);
> >
> > +	if (options.type == REBASE_PRESERVE_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);
>
> An internal user reported the following "bug" they ran into:
>
>  1. They ran "git pull --rebase=preserve"
>  2. warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
>
> This is very confusing, since the user issued "--rebase=preserve", *not*
> "--preserve-merges".
>
> We could detect that we came from "git pull" and pass down the argv we
> used blah blah, but how about just describing things a bit more in the
> warning, e.g.:
>
>     warning: the "preserve" backend for 'git rebase' has been
>     deprecated. You invoked git with "rebase --preserve-merges", either
>     directly, or via "pull --rebase=preserve".
>
>     Use the new "rebase merges" backend of "git rebase" instead, invoked
>     via "rebase --rebase-merges" or "pull --rebase=merges". Note that
>     the new backend may yield different results, see the "git rebase"
>     documentation for details.

Don't forget `pull.rebase`.

And the proposed text makes it sound as if the results of
`--rebase=merges` is wrong, while I would contend that it is actually more
correct than `--rebase=preserve`'s output.

In general, I do agree with the direction of making the description more
general rather than trying to teach `git-rebase--preserve-merges.sh` from
where it was called and showing a different deprecation message.

Do you want to take the lead on this? If so, be my guest, I still have to
prepare Git for Windows for -rc0...

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2019-05-09 14:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-07 10:00 [PATCH 0/1] Deprecate git rebase --preserve-merges Johannes Schindelin via GitGitGadget
2019-03-07 10:00 ` [PATCH 1/1] rebase: deprecate --preserve-merges Johannes Schindelin via GitGitGadget
2019-03-07 16:25   ` Phillip Wood
2019-03-11 19:31     ` Johannes Schindelin
2019-03-07 16:47   ` Eric Sunshine
2019-03-11 19:33     ` Johannes Schindelin
2019-03-11 19:57 ` [PATCH v2 0/1] Deprecate git rebase --preserve-merges Johannes Schindelin via GitGitGadget
2019-03-11 19:57   ` [PATCH v2 1/1] rebase: deprecate --preserve-merges Johannes Schindelin via GitGitGadget
2019-05-02 14:52     ` Ævar Arnfjörð Bjarmason
2019-05-09 14:36       ` Johannes Schindelin

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).