Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-merge6 @ 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 | ad3d5b4367cb |
line wrap: on
line source
#!/bin/sh cat <<'EOF' > merge #!/bin/sh echo merging for `basename $1` EOF chmod +x merge HGMERGE=./merge; export HGMERGE mkdir A1 cd A1 hg init echo This is file foo1 > foo echo This is file bar1 > bar hg add foo bar hg commit -m "commit text" -d "1000000 0" cd .. hg clone A1 B1 cd A1 rm bar hg remove bar hg commit -m "commit test" -d "1000000 0" cd ../B1 echo This is file foo22 > foo hg commit -m "commit test" -d "1000000 0" cd .. hg clone A1 A2 hg clone B1 B2 cd A1 hg pull ../B1 hg merge hg commit -m "commit test" -d "1000000 0" echo bar should remain deleted. hg manifest cd ../B2 hg pull ../A2 hg merge hg commit -m "commit test" -d "1000000 0" echo bar should remain deleted. hg manifest