Mercurial > hg
view tests/test-bundle @ 2612:ffb895f16925
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.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Fri, 14 Jul 2006 11:17:22 -0700 |
parents | 89b15372df18 |
children | 109a22f5434a |
line wrap: on
line source
#!/bin/sh hg init test cd test echo 0 > afile hg add afile hg commit -m "0.0" -d "1000000 0" echo 1 >> afile hg commit -m "0.1" -d "1000000 0" echo 2 >> afile hg commit -m "0.2" -d "1000000 0" echo 3 >> afile hg commit -m "0.3" -d "1000000 0" hg update -C 0 echo 1 >> afile hg commit -m "1.1" -d "1000000 0" echo 2 >> afile hg commit -m "1.2" -d "1000000 0" echo "a line" > fred echo 3 >> afile hg add fred hg commit -m "1.3" -d "1000000 0" hg mv afile adifferentfile hg commit -m "1.3m" -d "1000000 0" hg update -C 3 hg mv afile anotherfile hg commit -m "0.3m" -d "1000000 0" hg verify cd .. hg init empty hg -R test bundle full.hg empty hg -R test unbundle full.hg hg -R empty unbundle full.hg hg -R empty heads hg -R empty verify rm -rf empty hg init empty cd empty hg -R bundle://../full.hg log #doesn't work (yet ?) #hg -R bundle://../full.hg verify hg pull bundle://../full.hg cd .. rm -rf empty hg init empty hg clone -r 3 test partial hg clone partial partial2 cd partial hg -R bundle://../full.hg log hg incoming bundle://../full.hg hg -R bundle://../full.hg outgoing ../partial2 cd ..