42 lines
1.0 KiB
42 lines
1.0 KiB
#!/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
|
|
|