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
+ hg commit -m test -d 0 0
+ hg history
changeset: 0:acb14030fe0a
tag: tip
user: test
date: Thu Jan 1 00:00:00 1970
summary: test
+ hg tag -d 0 0 bleah
+ hg history
changeset: 1:863197ef0378
tag: tip
user: test
date: Thu Jan 1 00:00:00 1970
summary: Added tag bleah for changeset acb14030fe0a21b60322c440ad2d20cf7685a376
changeset: 0:acb14030fe0a
tag: bleah
user: test
date: Thu Jan 1 00:00:00 1970
summary: test
+ hg tag -d 0 0 bleah2
abort: working copy of .hgtags is changed!
(please commit .hgtags manually)
failed