Code

remote: only update remote-tracking branch if updating refspec
[git.git] / t / t5505-remote.sh
index 36c807c6086fa5e0cefb32fc325cd037985c3efd..e8af615e6dcdf365416ef9f71825c17a0d601186 100755 (executable)
@@ -637,7 +637,8 @@ test_expect_success 'rename does not update a non-default fetch refspec' '
        (cd four.one &&
         git config remote.origin.fetch +refs/heads/*:refs/heads/origin/* &&
         git remote rename origin upstream &&
-        test "$(git config remote.upstream.fetch)" = "+refs/heads/*:refs/heads/origin/*")
+        test "$(git config remote.upstream.fetch)" = "+refs/heads/*:refs/heads/origin/*" &&
+        git rev-parse -q origin/master)
 
 '
 
@@ -651,6 +652,16 @@ test_expect_success 'rename a remote with name part of fetch spec' '
 
 '
 
+test_expect_success 'rename a remote with name prefix of other remote' '
+
+       git clone one four.three &&
+       (cd four.three &&
+        git remote add o git://example.com/repo.git &&
+        git remote rename o upstream &&
+        test "$(git rev-parse origin/master)" = "$(git rev-parse master)")
+
+'
+
 cat > remotes_origin << EOF
 URL: $(pwd)/one
 Push: refs/heads/master:refs/heads/upstream