view tests/test-hgwebdirsym @ 6805:482581431dcd

Sort removes first when applying updates (fixes issues 750 and 912) This change ensures that removes happen first in applyupdates(). This avoids issues where we try to make a case-only rename of a file on a case insensitive system. Without this patch, the add of the new name happens before the remove of the old one - which results in the file not existing, as the two names are effectively the same. With the patch, the old name gets removed then the new one gets added, which is always safe.
author Paul Moore <p.f.moore@gmail.com>
date Tue, 01 Jul 2008 17:59:31 +0100
parents 63bdfcc3eaaf
children
line wrap: on
line source

#!/bin/sh
# Tests whether or not hgwebdir properly handles various symlink topologies.

"$TESTDIR/hghave" symlink || exit 80

hg init a
echo a > a/a
hg --cwd a ci -Ama -d'1 0'

mkdir webdir
cd webdir

hg init b
echo b > b/b
hg --cwd b ci -Amb -d'2 0'

hg init c
echo c > c/c
hg --cwd c ci -Amc -d'3 0'

ln -s ../a al
ln -s ../webdir circle

root=`pwd`

cd ..

cat > collections.conf <<EOF
[collections]
$root=$root
EOF

hg serve -p $HGPORT -d --pid-file=hg.pid --webdir-conf collections.conf \
    -A access-collections.log -E error-collections.log
cat hg.pid >> $DAEMON_PIDS

echo % should succeed
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/?style=raw'
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/al/file/tip/a?style=raw'
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/b/file/tip/b?style=raw'
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/c/file/tip/c?style=raw'

echo % should fail
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/circle/al/file/tip/a?style=raw'
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/circle/b/file/tip/a?style=raw'
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/circle/c/file/tip/a?style=raw'

echo % collections errors
cat error-collections.log