Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-ssh @ 3295:764688cf51e5
merge: remember rename copies and parents properly on commit
record copies in dirstate even if rename was remote
this lets us record it properly at commit
teach checkfilemerge about copies, including merge cases
pull old copy code out of commit
extend rename-merge1 test to show file index
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sun, 08 Oct 2006 19:57:45 -0500 |
parents | 7ae37d99d47e |
children | 975c2469c316 |
line wrap: on
line source
#!/bin/sh # This test tries to exercise the ssh functionality with a dummy script cat <<'EOF' > dummyssh #!/bin/sh # this attempts to deal with relative pathnames cd `dirname $0` # check for proper args if [ $1 != "user@dummy" ] ; then exit -1 fi # check that we're in the right directory if [ ! -x dummyssh ] ; then exit -1 fi SSH_CLIENT='127.0.0.1 1 2' export SSH_CLIENT echo Got arguments 1:$1 2:$2 3:$3 4:$4 5:$5 >> dummylog $2 EOF chmod +x dummyssh echo "# creating 'remote'" hg init remote cd remote echo this > foo hg ci -A -m "init" -d "1000000 0" foo echo '[server]' > .hg/hgrc echo 'uncompressed = True' >> .hg/hgrc echo '[hooks]' >> .hg/hgrc echo 'changegroup = echo changegroup in remote: u=$HG_URL >> ../dummylog' >> .hg/hgrc cd .. echo "# repo not found error" hg clone -e ./dummyssh ssh://user@dummy/nonexistent local echo "# clone remote via stream" hg clone -e ./dummyssh --uncompressed ssh://user@dummy/remote local-stream 2>&1 | \ sed -e 's/[0-9][0-9.]*/XXX/g' -e 's/[KM]\(B\/sec\)/X\1/' cd local-stream hg verify cd .. echo "# clone remote via pull" hg clone -e ./dummyssh ssh://user@dummy/remote local echo "# verify" cd local hg verify echo '[hooks]' >> .hg/hgrc echo 'changegroup = echo changegroup in local: u=$HG_URL >> ../dummylog' >> .hg/hgrc echo "# empty default pull" hg paths hg pull -e ../dummyssh echo "# local change" echo bleah > foo hg ci -m "add" -d "1000000 0" echo "# updating rc" echo "default-push = ssh://user@dummy/remote" >> .hg/hgrc echo "[ui]" >> .hg/hgrc echo "ssh = ../dummyssh" >> .hg/hgrc echo "# find outgoing" hg out ssh://user@dummy/remote echo "# find incoming on the remote side" hg incoming -R ../remote -e ../dummyssh ssh://user@dummy/local echo "# push" hg push cd ../remote echo "# check remote tip" hg tip hg verify hg cat -r tip foo echo z > z hg ci -A -m z -d '1000001 0' z cd ../local echo r > r hg ci -A -m z -d '1000002 0' r echo "# push should fail" hg push echo "# push should succeed" hg push -f cd .. cat dummylog