]> asedeno.scripts.mit.edu Git - git.git/commitdiff
Merge branch 'bc/maint-fetch-url-only'
authorJunio C Hamano <gitster@pobox.com>
Wed, 8 Sep 2010 16:17:00 +0000 (09:17 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 8 Sep 2010 16:17:00 +0000 (09:17 -0700)
* 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

builtin/fetch.c
t/t5510-fetch.sh

index fab3fce5122fc8ea8da0688e4b0e207ce4097127..fccc9cbea38091805d656d1cbf608ae3318ea3f8 100644 (file)
@@ -146,7 +146,9 @@ static struct ref *get_ref_map(struct transport *transport,
                struct remote *remote = transport->remote;
                struct branch *branch = branch_get(NULL);
                int has_merge = branch_has_merge_config(branch);
-               if (remote && (remote->fetch_refspec_nr || has_merge)) {
+               if (remote &&
+                   (remote->fetch_refspec_nr ||
+                    (has_merge && !strcmp(branch->remote_name, remote->name)))) {
                        for (i = 0; i < remote->fetch_refspec_nr; i++) {
                                get_fetch_map(remote_refs, &remote->fetch[i], &tail, 0);
                                if (remote->fetch[i].dst &&
index 4eb10f602fdcba354c6d140ed6b910ee89641708..8fbd894e7f4bee135156486a3e67af90cf78a63a 100755 (executable)
@@ -240,6 +240,12 @@ test_expect_success 'fetch with a non-applying branch.<name>.merge' '
        git fetch blub
 '
 
+test_expect_success 'fetch from GIT URL with a non-applying branch.<name>.merge' '
+       git update-ref -d FETCH_HEAD &&
+       git fetch one &&
+       git rev-parse --verify FETCH_HEAD
+'
+
 # the strange name is: a\!'b
 test_expect_success 'quoting of a strangely named repo' '
        test_must_fail git fetch "a\\!'\''b" > result 2>&1 &&