#!/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