Merge branch 'jk/push-simple' into maint

Git 2.0 was supposed to make the "simple" mode for the default of
"git push", but it didn't.

* jk/push-simple:
  push: truly use "simple" as default, not "upstream"
This commit is contained in:
Junio C Hamano
2014-12-22 12:18:08 -08:00
2 changed files with 34 additions and 6 deletions

View File

@ -161,7 +161,7 @@ static const char message_detached_head_die[] =
" git push %s HEAD:<name-of-remote-branch>\n");
static void setup_push_upstream(struct remote *remote, struct branch *branch,
int triangular)
int triangular, int simple)
{
struct strbuf refspec = STRBUF_INIT;
@ -184,7 +184,7 @@ static void setup_push_upstream(struct remote *remote, struct branch *branch,
"to update which remote branch."),
remote->name, branch->name);
if (push_default == PUSH_DEFAULT_SIMPLE) {
if (simple) {
/* Additional safety */
if (strcmp(branch->refname, branch->merge[0]->src))
die_push_simple(branch, remote);
@ -257,11 +257,11 @@ static void setup_default_push_refspecs(struct remote *remote)
if (triangular)
setup_push_current(remote, branch);
else
setup_push_upstream(remote, branch, triangular);
setup_push_upstream(remote, branch, triangular, 1);
break;
case PUSH_DEFAULT_UPSTREAM:
setup_push_upstream(remote, branch, triangular);
setup_push_upstream(remote, branch, triangular, 0);
break;
case PUSH_DEFAULT_CURRENT: