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"