Skip to content

Commit e250c59

Browse files
committed
Merge branch 'bc/maint-fetch-url-only'
* bc/maint-fetch-url-only: builtin/fetch.c: ignore merge config when not fetching from branch's remote t/t5510: demonstrate failure to fetch when current branch has merge ref
2 parents 6b948a7 + 3ee1757 commit e250c59

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

builtin/fetch.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,9 @@ static struct ref *get_ref_map(struct transport *transport,
146146
struct remote *remote = transport->remote;
147147
struct branch *branch = branch_get(NULL);
148148
int has_merge = branch_has_merge_config(branch);
149-
if (remote && (remote->fetch_refspec_nr || has_merge)) {
149+
if (remote &&
150+
(remote->fetch_refspec_nr ||
151+
(has_merge && !strcmp(branch->remote_name, remote->name)))) {
150152
for (i = 0; i < remote->fetch_refspec_nr; i++) {
151153
get_fetch_map(remote_refs, &remote->fetch[i], &tail, 0);
152154
if (remote->fetch[i].dst &&

t/t5510-fetch.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,12 @@ test_expect_success 'fetch with a non-applying branch.<name>.merge' '
240240
git fetch blub
241241
'
242242

243+
test_expect_success 'fetch from GIT URL with a non-applying branch.<name>.merge' '
244+
git update-ref -d FETCH_HEAD &&
245+
git fetch one &&
246+
git rev-parse --verify FETCH_HEAD
247+
'
248+
243249
# the strange name is: a\!'b
244250
test_expect_success 'quoting of a strangely named repo' '
245251
test_must_fail git fetch "a\\!'\''b" > result 2>&1 &&

0 commit comments

Comments
 (0)