Browse Source
Avoid false error from an attempt to update local symbolic ref via fetch. * jc/fetch-ignore-symref: fetch: ignore wildcarded refspecs that update local symbolic refsmaint

2 changed files with 54 additions and 1 deletions
@ -0,0 +1,42 @@
@@ -0,0 +1,42 @@
|
||||
#!/bin/sh |
||||
|
||||
test_description='avoiding conflicting update thru symref aliasing' |
||||
|
||||
. ./test-lib.sh |
||||
|
||||
test_expect_success 'setup' ' |
||||
test_commit one && |
||||
git clone . src && |
||||
git clone src dst1 && |
||||
git clone src dst2 && |
||||
test_commit two && |
||||
( cd src && git pull ) |
||||
' |
||||
|
||||
test_expect_success 'push' ' |
||||
( |
||||
cd src && |
||||
git push ../dst1 "refs/remotes/*:refs/remotes/*" |
||||
) && |
||||
git ls-remote src "refs/remotes/*" >expect && |
||||
git ls-remote dst1 "refs/remotes/*" >actual && |
||||
test_cmp expect actual && |
||||
( cd src && git symbolic-ref refs/remotes/origin/HEAD ) >expect && |
||||
( cd dst1 && git symbolic-ref refs/remotes/origin/HEAD ) >actual && |
||||
test_cmp expect actual |
||||
' |
||||
|
||||
test_expect_success 'fetch' ' |
||||
( |
||||
cd dst2 && |
||||
git fetch ../src "refs/remotes/*:refs/remotes/*" |
||||
) && |
||||
git ls-remote src "refs/remotes/*" >expect && |
||||
git ls-remote dst2 "refs/remotes/*" >actual && |
||||
test_cmp expect actual && |
||||
( cd src && git symbolic-ref refs/remotes/origin/HEAD ) >expect && |
||||
( cd dst2 && git symbolic-ref refs/remotes/origin/HEAD ) >actual && |
||||
test_cmp expect actual |
||||
' |
||||
|
||||
test_done |
Loading…
Reference in new issue