tests/test-clone-failure
author mpm@selenic.com
Tue, 16 Aug 2005 14:53:47 -0800
changeset 917 7f3f55903496
parent 839 9c918287d10b
child 3988 9dcf9d45cab8
permissions -rwxr-xr-x
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

# No local source
hg clone a b
echo $?

# No remote source
hg clone http://127.0.0.1:3121/a b
echo $?
rm -rf b # work around bug with http clone

# Inaccessible source
mkdir a
chmod 000 a
hg clone a b
echo $?

# Inaccessible destination
mkdir b
cd b
hg init
hg clone . ../a
echo $?
cd ..
chmod 700 a
rm -rf a b

# Source of wrong type
mkfifo a
hg clone a b
echo $?
rm a

# Default destination, same directory
mkdir q
cd q
hg init
cd ..
hg clone q

true