Mercurial > hg
view tests/test-pull-pull-corruption @ 2435:ff2bac730b99
http client: support persistent connections.
uses keepalive module from urlgrabber package. tested against "hg serve",
cgi server, and through http proxy. used ethereal to verify that only
one tcp connection used during entire "hg pull" sequence.
if server supports keepalive, this makes latency of "hg pull" much lower.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Thu, 15 Jun 2006 12:57:59 -0700 |
parents | 81ca1a9bd061 |
children |
line wrap: on
line source
#!/bin/sh # # Corrupt an hg repo with two pulls. # # create one repo with a long history hg init source1 cd source1 touch foo hg add foo for i in 1 2 3 4 5 6 7 8 9 10; do echo $i >> foo hg ci -m $i done cd .. # create one repo with a shorter history hg clone -r 0 source1 source2 cd source2 echo a >> foo hg ci -m a cd .. # create a third repo to pull both other repos into it hg init corrupted cd corrupted # use a hook to make the second pull start while the first one is still running echo '[hooks]' >> .hg/hgrc echo 'prechangegroup = sleep 5' >> .hg/hgrc # start a pull... hg pull ../source1 & # ... and start another pull before the first one has finished sleep 1 hg pull ../source2 2>/dev/null # see the result wait hg verify