"Philip Oakley via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Philip Oakley <philipoakley@iee.email> > > The `--preserve-merges` option was removed by v2.34.0. However > users may not be aware that it is also a Pull configuration option, > which is still offered by major IDE vendors such as Visual Studio. > > Extend the `--preserve-merges` die message to also direct users to > the possible use of the `preserve` option in the `pull.rebase` config. > This is an additional 'belt and braces' information statement. > > Signed-off-by: Philip Oakley <philipoakley@iee.email> > --- > builtin/rebase.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/builtin/rebase.c b/builtin/rebase.c > index 17cc776b4b1..5f8921551e1 100644 > --- a/builtin/rebase.c > +++ b/builtin/rebase.c > @@ -1205,7 +1205,9 @@ int cmd_rebase(int argc, const char **argv, const char *prefix) > builtin_rebase_usage, 0); > > if (preserve_merges_selected) > - die(_("--preserve-merges was replaced by --rebase-merges")); > + die(_("--preserve-merges was replaced by --rebase-merges\n" > + "Note: Your `pull.rebase` configuration may also be set to 'preserve',\n" > + "which is no longer supported; use 'merges' instead")); "be set" -> "be set". I am not sure how this helps anybody, though. When pull.rebase is parsed, rebase.c::rebase_parse_value() is called from builtin/pull.c::parse_config_rebase() and would trigger an error, whether it comes from the pull.rebase or the branch.*.rebase configuration variable. An error() message already said that 'preserve' was removed and 'merges' would be a replacement when it happened. If the user has *not* reached this die() due to a configuration variable, then there is not much point giving this new message, either.