tests/test-http-clone-r
author Patrick Mezard <pmezard@gmail.com>
Fri, 14 Sep 2007 22:17:53 +0200
changeset 5304 b85f7cc133cc
parent 3853 c0b449154a90
child 5384 e3a0c092b4e2
permissions -rwxr-xr-x
convert: avoid interpreting Windows path as CVS connection strings. CVS connection strings regexp detect colons to separate protocols from path and login. Unfortunately, Windows paths contains colons and were interpreted as rsh connection strings.

#!/bin/sh

hg init remote
cd remote
echo "# creating 'remote'"
cat >>afile <<EOF
0
EOF
hg add afile
hg commit -m "0.0"
cat >>afile <<EOF
1
EOF
hg commit -m "0.1"
cat >>afile <<EOF
2
EOF
hg commit -m "0.2"
cat >>afile <<EOF
3
EOF
hg commit -m "0.3"
hg update -C 0
cat >>afile <<EOF
1
EOF
hg commit -m "1.1"
cat >>afile <<EOF
2
EOF
hg commit -m "1.2"
cat >fred <<EOF
a line
EOF
cat >>afile <<EOF
3
EOF
hg add fred
hg commit -m "1.3"
hg mv afile adifferentfile
hg commit -m "1.3m"
hg update -C 3
hg mv afile anotherfile
hg commit -m "0.3m"
hg debugindex .hg/store/data/afile.i
hg debugindex .hg/store/data/adifferentfile.i
hg debugindex .hg/store/data/anotherfile.i
hg debugindex .hg/store/data/fred.i
hg debugindex .hg/store/00manifest.i
hg verify
echo "# Starting server"
hg serve -p 20061 -d --pid-file=../hg1.pid
cd ..
cat hg1.pid >> $DAEMON_PIDS

echo "# clone remote via stream"
for i in 0 1 2 3 4 5 6 7 8; do
   hg clone -r "$i" http://localhost:20061/ test-"$i" 2>&1
   if cd test-"$i"; then
      hg verify
      cd ..
   fi
done
cd test-8
hg pull ../test-7
hg verify
cd ..
cd test-1
hg pull -r 4 http://localhost:20061/ 2>&1
hg verify
hg pull http://localhost:20061/ 2>&1
cd ..
cd test-2
hg pull -r 5 http://localhost:20061/ 2>&1
hg verify
hg pull http://localhost:20061/ 2>&1
hg verify
cd ..