Mercurial > hg
view tests/test-merge7 @ 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 | e506c14382fd |
children | c0b449154a90 |
line wrap: on
line source
#!/bin/sh # initial hg init test-a cd test-a cat >test.txt <<"EOF" 1 2 3 EOF hg add test.txt hg commit -m "Initial" -d "1000000 0" # clone cd .. hg clone test-a test-b # change test-a cd test-a cat >test.txt <<"EOF" one two three EOF hg commit -m "Numbers as words" -d "1000000 0" # change test-b cd ../test-b cat >test.txt <<"EOF" 1 2.5 3 EOF hg commit -m "2 -> 2.5" -d "1000000 0" # now pull and merge from test-a hg pull ../test-a HGMERGE=merge hg merge # resolve conflict cat >test.txt <<"EOF" one two-point-five three EOF rm -f *.orig hg commit -m "Merge 1" -d "1000000 0" # change test-a again cd ../test-a cat >test.txt <<"EOF" one two-point-one three EOF hg commit -m "two -> two-point-one" -d "1000000 0" # pull and merge from test-a again cd ../test-b hg pull ../test-a HGMERGE=merge hg merge --debug cat test.txt | sed "s% .*%%" hg debugindex .hg/data/test.txt.i hg log