aboutsummaryrefslogtreecommitdiffstats
path: root/builtin/rebase.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-06-15 15:09:28 -0700
committerJunio C Hamano <gitster@pobox.com>2022-06-15 15:09:28 -0700
commit589bc0942b2c14e9361deedc468a233e0571136f (patch)
treee79ba07d472d9d7d6d5f14045bce866c2f462f16 /builtin/rebase.c
parentbfca6316345ffd717c717d2e36365239a3070124 (diff)
parentf007713cb101dba76491f18459ae45085b6267a2 (diff)
downloadgit-589bc0942b2c14e9361deedc468a233e0571136f.tar.gz
Merge branch 'po/rebase-preserve-merges'
Various error messages that talk about the removal of "--preserve-merges" in "rebase" have been strengthened, and "rebase --abort" learned to get out of a state that was left by an earlier use of the option. * po/rebase-preserve-merges: rebase: translate a die(preserve-merges) message rebase: note `preserve` merges may be a pull config option rebase: help users when dying with `preserve-merges` rebase.c: state preserve-merges has been removed
Diffstat (limited to 'builtin/rebase.c')
-rw-r--r--builtin/rebase.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/builtin/rebase.c b/builtin/rebase.c
index 7ab50cda2a..640b6046a5 100644
--- a/builtin/rebase.c
+++ b/builtin/rebase.c
@@ -1110,8 +1110,8 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
PARSE_OPT_NOARG | PARSE_OPT_NONEG,
parse_opt_interactive),
OPT_SET_INT_F('p', "preserve-merges", &preserve_merges_selected,
- N_("(DEPRECATED) try to recreate merges instead of "
- "ignoring them"),
+ N_("(REMOVED) was: try to recreate merges "
+ "instead of ignoring them"),
1, PARSE_OPT_HIDDEN),
OPT_RERERE_AUTOUPDATE(&options.allow_rerere_autoupdate),
OPT_CALLBACK_F(0, "empty", &options, "{drop,keep,ask}",
@@ -1182,8 +1182,10 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
} else if (is_directory(merge_dir())) {
strbuf_reset(&buf);
strbuf_addf(&buf, "%s/rewritten", merge_dir());
- if (is_directory(buf.buf)) {
- die("`rebase -p` is no longer supported");
+ if (!(action == ACTION_ABORT) && is_directory(buf.buf)) {
+ die(_("`rebase --preserve-merges` (-p) is no longer supported.\n"
+ "Use `git rebase --abort` to terminate current rebase.\n"
+ "Or downgrade to v2.33, or earlier, to complete the rebase."));
} else {
strbuf_reset(&buf);
strbuf_addf(&buf, "%s/interactive", merge_dir());
@@ -1203,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"));
if (action != ACTION_NONE && total_argc != 2) {
usage_with_options(builtin_rebase_usage,