tests/test-rawcommit1
author Vadim Gelfer <vadim.gelfer@gmail.com>
Fri, 14 Jul 2006 11:17:22 -0700
changeset 2612 ffb895f16925
parent 1933 7544700fd931
child 3375 9fe62e2db71d
permissions -rwxr-xr-x
add support for streaming clone. existing clone code uses pull to get changes from remote repo. is very slow, uses lots of memory and cpu. new clone code has server write file data straight to client, client writes file data straight to disk. memory and cpu used are very low, clone is much faster over lan. new client can still clone with pull, can still clone from older servers. new server can still serve older clients.

#!/bin/sh
hg --debug init
echo this is a1 > a
hg add a
hg commit -m0 -d "1000000 0"
echo this is b1 > b
hg add b
hg commit -m1 -d "1000000 0"
hg manifest 1
echo this is c1 > c
hg rawcommit -p 1 -d "1000000 0" -m2 c
hg manifest 2
hg parents
rm b
hg rawcommit -p 2 -d "1000000 0" -m3 b
hg manifest 3
hg parents
echo this is a22 > a
hg rawcommit -p 3 -d "1000000 0" -m4 a
hg manifest 4
hg parents
echo this is c22 > c
hg rawcommit -p 1 -d "1000000 0" -m5 c
hg manifest 5
hg parents
# merge, but no files changed
hg rawcommit -p 4 -p 5 -d "1000000 0" -m6
hg manifest 6
hg parents
# no changes what-so-ever
hg rawcommit -p 6 -d "1000000 0" -m7
hg manifest 7
hg parents