del transaction before lock before wlock
This way rollbacks happen while the repo is still locked.
Deleting lock before wlock is not strictly necessary, but is
more consistent with the locking order.
#!/bin/sh
origdir=`pwd`
cat >> readlink.py <<EOF
import os
import sys
for f in sys.argv[1:]:
print f, '->', os.readlink(f)
EOF
hg init repo
cd repo
ln -s nothing dangling
hg ci -qAm 'add symlink'
hg archive -t files ../archive
hg archive -t tar -p tar ../archive.tar
hg archive -t zip -p zip ../archive.zip
echo '% files'
cd "$origdir"
cd archive
python ../readlink.py dangling
echo '% tar'
cd "$origdir"
tar xf archive.tar
cd tar
python ../readlink.py dangling
echo '% zip'
cd "$origdir"
unzip archive.zip > /dev/null
cd zip
python ../readlink.py dangling