A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/gitster/git/commit/23c0956441a101b2e8eca7e063e71bdc69a0c415 below:

Merge branch 'jk/push-simple' · gitster/git@23c0956 · GitHub

File tree Expand file treeCollapse file tree 2 files changed

+34

-6

lines changed

Filter options

Expand file treeCollapse file tree 2 files changed

+34

-6

lines changed Original file line number Diff line number Diff line change

@@ -161,7 +161,7 @@ static const char message_detached_head_die[] =

161 161

" git push %s HEAD:<name-of-remote-branch>\n");

162 162 163 163

static void setup_push_upstream(struct remote *remote, struct branch *branch,

164 -

int triangular)

164 +

int triangular, int simple)

165 165

{

166 166

struct strbuf refspec = STRBUF_INIT;

167 167

@@ -184,7 +184,7 @@ static void setup_push_upstream(struct remote *remote, struct branch *branch,

184 184

"to update which remote branch."),

185 185

remote->name, branch->name);

186 186 187 -

if (push_default == PUSH_DEFAULT_SIMPLE) {

187 +

if (simple) {

188 188

/* Additional safety */

189 189

if (strcmp(branch->refname, branch->merge[0]->src))

190 190

die_push_simple(branch, remote);

@@ -257,11 +257,11 @@ static void setup_default_push_refspecs(struct remote *remote)

257 257

if (triangular)

258 258

setup_push_current(remote, branch);

259 259

else

260 -

setup_push_upstream(remote, branch, triangular);

260 +

setup_push_upstream(remote, branch, triangular, 1);

261 261

break;

262 262 263 263

case PUSH_DEFAULT_UPSTREAM:

264 -

setup_push_upstream(remote, branch, triangular);

264 +

setup_push_upstream(remote, branch, triangular, 0);

265 265

break;

266 266 267 267

case PUSH_DEFAULT_CURRENT:

Original file line number Diff line number Diff line change

@@ -26,15 +26,15 @@ check_pushed_commit () {

26 26

# $2 = expected target branch for the push

27 27

# $3 = [optional] repo to check for actual output (repo1 by default)

28 28

test_push_success () {

29 -

git -c push.default="$1" push &&

29 +

git ${1:+-c push.default="$1"} push &&

30 30

check_pushed_commit HEAD "$2" "$3"

31 31

}

32 32 33 33

# $1 = push.default value

34 34

# check that push fails and does not modify any remote branch

35 35

test_push_failure () {

36 36

git --git-dir=repo1 log --no-walk --format='%h %s' --all >expect &&

37 -

test_must_fail git -c push.default="$1" push &&

37 +

test_must_fail git ${1:+-c push.default="$1"} push &&

38 38

git --git-dir=repo1 log --no-walk --format='%h %s' --all >actual &&

39 39

test_cmp expect actual

40 40

}

@@ -172,4 +172,32 @@ test_pushdefault_workflow success simple master triangular

172 172

# master is updated (parent2 does not have foo)

173 173

test_pushdefault_workflow success matching master triangular

174 174 175 +

# default tests, when no push-default is specified. This

176 +

# should behave the same as "simple" in non-triangular

177 +

# settings, and as "current" otherwise.

178 + 179 +

test_expect_success 'default behavior allows "simple" push' '

180 +

test_config branch.master.remote parent1 &&

181 +

test_config branch.master.merge refs/heads/master &&

182 +

test_config remote.pushdefault parent1 &&

183 +

test_commit default-master-master &&

184 +

test_push_success "" master

185 +

'

186 + 187 +

test_expect_success 'default behavior rejects non-simple push' '

188 +

test_config branch.master.remote parent1 &&

189 +

test_config branch.master.merge refs/heads/foo &&

190 +

test_config remote.pushdefault parent1 &&

191 +

test_commit default-master-foo &&

192 +

test_push_failure ""

193 +

'

194 + 195 +

test_expect_success 'default triangular behavior acts like "current"' '

196 +

test_config branch.master.remote parent1 &&

197 +

test_config branch.master.merge refs/heads/foo &&

198 +

test_config remote.pushdefault parent2 &&

199 +

test_commit default-triangular &&

200 +

test_push_success "" master repo2

201 +

'

202 + 175 203

test_done

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4