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.
+ hg init
+ hg add a b
+ hg ci -m added a b -d 0 0
+ hg init
+ hg pull ../test1
pulling from ../test1
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 2 changes to 2 files
(run 'hg update' to get a working copy)
+ hg co
+ hg ci -m chmod +x a -d 0 0
+ hg ci -m a updated -d 0 0
+ hg pull ../test2
pulling from ../test2
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
+ hg heads
changeset: 2:3ef543305655
tag: tip
parent: 0:22a449e20da5
user: test
date: Thu Jan 1 00:00:00 1970
summary: chmod +x a
changeset: 1:c6ecefc45368
user: test
date: Thu Jan 1 00:00:00 1970
summary: a updated
+ hg history
changeset: 2:3ef543305655
tag: tip
parent: 0:22a449e20da5
user: test
date: Thu Jan 1 00:00:00 1970
summary: chmod +x a
changeset: 1:c6ecefc45368
user: test
date: Thu Jan 1 00:00:00 1970
summary: a updated
changeset: 0:22a449e20da5
user: test
date: Thu Jan 1 00:00:00 1970
summary: added a b
+ hg -v co -m
resolving manifests
merging a
resolving a
-rwxr-x---
-rwxr-x---