view tests/test-clone-failure @ 9881:54b518fc6671

httprepo: suppress the `real URL is...' message in safe, common cases. When the actual and requested URL only differ by trailing slashes, there is no need to warn. As an example, this easily happens when accessing repositories on Bitbucket over HTTP(S). As far as I could tell, there were no existing tests for this behaviour.
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Wed, 18 Nov 2009 12:47:58 +0100
parents 567648eab1dd
children
line wrap: on
line source

#!/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 -r a b

# Source of wrong type
if "$TESTDIR/hghave" -q fifo; then
    mkfifo a
    hg clone a b
    echo $?
    rm a
else
    echo "abort: repository a not found!"
    echo 255
fi

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

# destination directory not empty
mkdir a 
echo stuff > a/a
hg clone q a
echo $?

# leave existing directory in place after clone failure
hg init c
cd c
echo c > c
hg commit -A -m test
chmod -rx .hg/store/data
cd ..
mkdir d
hg clone c d 2> err
echo $?
test -d d && echo "dir is still here" || echo "dir is gone"
test -d d/.hg && echo "repo is still here" || echo "repo is gone"

# reenable perm to allow deletion
chmod +rx c/.hg/store/data

true