Mercurial > hg
view tests/test-clone-pull-corruption @ 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 | 81ca1a9bd061 |
children |
line wrap: on
line source
#!/bin/sh # # Corrupt an hg repo with a pull started during an aborted commit # # Create two repos, so that one of them can pull from the other one. hg init source cd source touch foo hg add foo hg ci -m 'add foo' hg clone . ../corrupted echo >> foo hg ci -m 'change foo' # Add a hook to wait 5 seconds and then abort the commit cd ../corrupted echo '[hooks]' >> .hg/hgrc echo 'pretxncommit = sleep 5; exit 1' >> .hg/hgrc # start a commit... touch bar hg add bar hg ci -m 'add bar' & # ... and start a pull while the commit is still running sleep 1 hg pull ../source 2>/dev/null # see what happened wait hg verify