tests/test-mq-qclone-http
author Patrick Mezard <pmezard@gmail.com>
Sat, 03 Jan 2009 20:16:10 +0100
changeset 7564 f1af59451c0c
parent 7525 6a49fa7674c1
child 10427 400ffd5f2f14
permissions -rwxr-xr-x
localrepo: fix bad manifest delta generation (issue1433) The issue came from the 720ae5085ee3 fix for issue586 working only for manifest.add() fast path, where the incorrect removed file set was ignored. This path was no longer taken after 716a1296e182 refactoring.

#! /bin/sh

echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH

mkdir webdir
cd webdir

hg init a
hg --cwd a qinit -c
echo a > a/a
hg --cwd a ci -A -m a
echo b > a/b
hg --cwd a addremove
hg --cwd a qnew -f b.patch
hg --cwd a qcommit -m b.patch

hg --cwd a log --template "{desc}\n"
hg --cwd a/.hg/patches log --template "{desc}\n"

root=`pwd`

cd ..

echo % test with recursive collection

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

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

"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/?style=raw'

hg qclone http://localhost:$HGPORT/a b
hg --cwd b log --template "{desc}\n"
hg --cwd b qpush -a
hg --cwd b log --template "{desc}\n"

echo % test with normal collection

cat > collections1.conf <<EOF
[paths]
/=$root/*
EOF

hg serve -p $HGPORT1 -d --pid-file=hg.pid --webdir-conf collections1.conf \
    -A access-paths.log -E error-paths-1.log
cat hg.pid >> $DAEMON_PIDS

"$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/?style=raw'

hg qclone http://localhost:$HGPORT1/a c
hg --cwd c log --template "{desc}\n"
hg --cwd c qpush -a
hg --cwd c log --template "{desc}\n"

echo % test with old-style collection

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

hg serve -p $HGPORT2 -d --pid-file=hg.pid --webdir-conf collections2.conf \
    -A access-paths.log -E error-paths-1.log
cat hg.pid >> $DAEMON_PIDS

"$TESTDIR/get-with-headers.py" localhost:$HGPORT2 '/?style=raw'

hg qclone http://localhost:$HGPORT2/a d
hg --cwd d log --template "{desc}\n"
hg --cwd d qpush -a
hg --cwd d log --template "{desc}\n"