view tests/test-encode @ 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 7544700fd931
children c0b449154a90
line wrap: on
line source

#!/bin/sh

hg init

cat > .hg/hgrc <<EOF
[encode]
*.gz = gunzip

[decode]
*.gz = gzip

EOF

echo "this is a test" | gzip > a.gz
hg add a.gz
hg ci -m "test" -d "1000000 0"
echo %% no changes
hg status
touch a.gz

echo %% no changes
hg status

echo %% uncompressed contents in repo
hg debugdata .hg/data/a.gz.d 0

echo %% uncompress our working dir copy
gunzip < a.gz

rm a.gz
hg co

echo %% uncompress our new working dir copy
gunzip < a.gz