push: switch default from "matching" to "simple"
We promised to change the behaviour of lazy "git push [there]" that does not say what to push on the command line from "matching" to "simple" in Git 2.0. This finally flips that bit. Helped-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
@ -24,7 +24,6 @@ static int progress = -1;
|
||||
static const char **refspec;
|
||||
static int refspec_nr;
|
||||
static int refspec_alloc;
|
||||
static int default_matching_used;
|
||||
|
||||
static void add_refspec(const char *ref)
|
||||
{
|
||||
@ -148,9 +147,9 @@ static void setup_push_upstream(struct remote *remote, int simple)
|
||||
}
|
||||
|
||||
static char warn_unspecified_push_default_msg[] =
|
||||
N_("push.default is unset; its implicit value is changing in\n"
|
||||
N_("push.default is unset; its implicit value has changed in\n"
|
||||
"Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
|
||||
"and maintain the current behavior after the default changes, use:\n"
|
||||
"and maintain the traditional behavior, use:\n"
|
||||
"\n"
|
||||
" git config --global push.default matching\n"
|
||||
"\n"
|
||||
@ -175,14 +174,14 @@ static void setup_default_push_refspecs(struct remote *remote)
|
||||
{
|
||||
switch (push_default) {
|
||||
default:
|
||||
case PUSH_DEFAULT_UNSPECIFIED:
|
||||
default_matching_used = 1;
|
||||
warn_unspecified_push_default_configuration();
|
||||
/* fallthru */
|
||||
case PUSH_DEFAULT_MATCHING:
|
||||
add_refspec(":");
|
||||
break;
|
||||
|
||||
case PUSH_DEFAULT_UNSPECIFIED:
|
||||
warn_unspecified_push_default_configuration();
|
||||
/* fallthru */
|
||||
|
||||
case PUSH_DEFAULT_SIMPLE:
|
||||
setup_push_upstream(remote, 1);
|
||||
break;
|
||||
@ -208,12 +207,6 @@ static const char message_advice_pull_before_push[] =
|
||||
"before pushing again.\n"
|
||||
"See the 'Note about fast-forwards' in 'git push --help' for details.");
|
||||
|
||||
static const char message_advice_use_upstream[] =
|
||||
N_("Updates were rejected because a pushed branch tip is behind its remote\n"
|
||||
"counterpart. If you did not intend to push that branch, you may want to\n"
|
||||
"specify branches to push or set the 'push.default' configuration variable\n"
|
||||
"to 'simple', 'current' or 'upstream' to push only the current branch.");
|
||||
|
||||
static const char message_advice_checkout_pull_push[] =
|
||||
N_("Updates were rejected because a pushed branch tip is behind its remote\n"
|
||||
"counterpart. Check out this branch and merge the remote changes\n"
|
||||
@ -227,13 +220,6 @@ static void advise_pull_before_push(void)
|
||||
advise(_(message_advice_pull_before_push));
|
||||
}
|
||||
|
||||
static void advise_use_upstream(void)
|
||||
{
|
||||
if (!advice_push_non_ff_default || !advice_push_nonfastforward)
|
||||
return;
|
||||
advise(_(message_advice_use_upstream));
|
||||
}
|
||||
|
||||
static void advise_checkout_pull_push(void)
|
||||
{
|
||||
if (!advice_push_non_ff_matching || !advice_push_nonfastforward)
|
||||
@ -272,10 +258,7 @@ static int push_with_options(struct transport *transport, int flags)
|
||||
advise_pull_before_push();
|
||||
break;
|
||||
case NON_FF_OTHER:
|
||||
if (default_matching_used)
|
||||
advise_use_upstream();
|
||||
else
|
||||
advise_checkout_pull_push();
|
||||
advise_checkout_pull_push();
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user