From: Junio C Hamano Date: Fri, 12 Dec 2014 22:31:40 +0000 (-0800) Subject: Merge branch 'jk/push-simple' X-Git-Tag: v2.3.0-rc0~82 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/23c0956441a101b2e8eca7e063e71bdc69a0c415?ds=inline;hp=-c Merge branch 'jk/push-simple' 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" --- 23c0956441a101b2e8eca7e063e71bdc69a0c415 diff --combined builtin/push.c index cfa20c266b,5c3853b554..12f5e69393 --- a/builtin/push.c +++ b/builtin/push.c @@@ -127,10 -127,11 +127,10 @@@ static NORETURN int die_push_simple(str * them the big ugly fully qualified ref. */ const char *advice_maybe = ""; - const char *short_upstream = - skip_prefix(branch->merge[0]->src, "refs/heads/"); + const char *short_upstream = branch->merge[0]->src; + + skip_prefix(short_upstream, "refs/heads/", &short_upstream); - if (!short_upstream) - short_upstream = branch->merge[0]->src; /* * Don't show advice for people who explicitly set * push.default. @@@ -161,7 -162,7 +161,7 @@@ static const char message_detached_head " git push %s HEAD:\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 -185,7 +184,7 @@@ "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 -258,11 +257,11 @@@ static void setup_default_push_refspecs 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: @@@ -471,17 -472,6 +471,17 @@@ static int option_parse_recurse_submodu return 0; } +static int git_push_config(const char *k, const char *v, void *cb) +{ + struct wt_status *s = cb; + int status; + + status = git_gpg_config(k, v, NULL); + if (status) + return status; + return git_default_config(k, v, s); +} + int cmd_push(int argc, const char **argv, const char *prefix) { int flags = 0; @@@ -503,7 -493,7 +503,7 @@@ 0, CAS_OPT_NAME, &cas, N_("refname>: