summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2020-03-27 00:11:21 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-03-27 00:11:21 (GMT)
commit1c56d6f57adebf2a0ac910ca62a940dc7820bb68 (patch)
treec9fc0788d428a225cfa41d6f666de7dea369e0ee /builtin
parent369ae7567a4621aa81e5c4decc27715418564ac2 (diff)
parentd18c950a69f3a24e1e3add3d9fc427641f53e12b (diff)
downloadgit-1c56d6f57adebf2a0ac910ca62a940dc7820bb68.zip
git-1c56d6f57adebf2a0ac910ca62a940dc7820bb68.tar.gz
git-1c56d6f57adebf2a0ac910ca62a940dc7820bb68.tar.bz2
Merge branch 'ah/force-pull-rebase-configuration'
"git pull" learned to warn when no pull.rebase configuration exists, and neither --[no-]rebase nor --ff-only is given (which would result a merge). * ah/force-pull-rebase-configuration: pull: warn if the user didn't say whether to rebase or to merge
Diffstat (limited to 'builtin')
-rw-r--r--builtin/pull.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/builtin/pull.c b/builtin/pull.c
index 3e624d1..e42665b 100644
--- a/builtin/pull.c
+++ b/builtin/pull.c
@@ -327,6 +327,22 @@ static enum rebase_type config_get_rebase(void)
if (!git_config_get_value("pull.rebase", &value))
return parse_config_rebase("pull.rebase", value, 1);
+ if (opt_verbosity >= 0 &&
+ (!opt_ff || strcmp(opt_ff, "--ff-only"))) {
+ warning(_("Pulling without specifying how to reconcile divergent branches is\n"
+ "discouraged. You can squelch this message by running one of the following\n"
+ "commands sometime before your next pull:\n"
+ "\n"
+ " git config pull.rebase false # merge (the default strategy)\n"
+ " git config pull.rebase true # rebase\n"
+ " git config pull.ff only # fast-forward only\n"
+ "\n"
+ "You can replace \"git config\" with \"git config --global\" to set a default\n"
+ "preference for all repositories. You can also pass --rebase, --no-rebase,\n"
+ "or --ff-only on the command line to override the configured default per\n"
+ "invocation.\n"));
+ }
+
return REBASE_FALSE;
}