Fix hg clone race with writer
Most read operations in hg don't need locks because we order reads and
writes for consistency. Clone is an exception to this as we're copying
entire file histories and could end up with more file history copied
than we have commits.
For now, make clone take a lock on the source repo. Non-hardlinked
clone should eventually be changed to use lockless pull.
#!/bin/sh -e
umask 027
mkdir test1
cd test1
hg init
touch a b
hg add a b
hg ci -m "added a b" -d "0 0"
cd ..
mkdir test2
cd test2
hg init
hg pull ../test1
hg co
chmod +x a
hg ci -m "chmod +x a" -d "0 0"
cd ../test1
echo 123 >>a
hg ci -m "a updated" -d "0 0"
hg pull ../test2
hg heads
hg history
hg -v co -m
ls -l ../test[12]/a > foo
cut -b 0-10 < foo