tests/test-archive-symlinks
author Maxim Dounin <mdounin@mdounin.ru>
Sat, 27 Oct 2007 16:27:55 +0400
changeset 5483 0c43f87baba3
parent 5085 92d7ce0da063
permissions -rwxr-xr-x
Fix file-changed-to-dir and dir-to-file commits (issue660). Allow adding to dirstate files that clash with previously existing but marked for removal. Protect from reintroducing clashes by revert. This change doesn't address related issues with update. Current workaround is to do "clean" update by manually removing conflicting files/dirs from working directory.

#!/bin/sh

"$TESTDIR/hghave" symlink || exit 80

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