view tests/fixtures/symlinks.sh @ 865:04729f3a3d17

test_util: merge load_fixture_and_fetch() into TestBase method The middle-term goal is to make TestBase repo_path and wc_path private, so they can be changed for every load call. This is not required to use nosetests multiprocess facility as the fixtures create temporary directories but it makes things much clearer and avoid weird cases where a repository was loaded several times at the same location in a single test (cf test_startrev). That way we will be more confident the tests can be parallelized. The long term goal is to make hgsubversion compatible with nosetests --processes option.
author Patrick Mezard <patrick@mezard.eu>
date Thu, 19 Apr 2012 18:29:25 +0200
parents b37c401b7f92
children
line wrap: on
line source

#!/bin/sh
#
# Generate symlinks.svndump
#

mkdir temp
cd temp

mkdir project-orig
cd project-orig
mkdir trunk
mkdir branches
cd ..

svnadmin create testrepo
svnurl=file://`pwd`/testrepo
svn import project-orig $svnurl -m "init project"

svn co $svnurl project
cd project/trunk
echo a > a
ln -s a linka
ln -s a linka2
mkdir d
ln -s a d/linka
svn add a linka linka2 d
svn ci -m "add symlinks"
# Move symlinks
svn mv linka linkaa
svn mv d d2
svn commit -m "moving symlinks"
# Update symlinks (test "link " prefix vs applydelta)
echo b > b
rm linkaa
ln -s b linkaa
rm d2/linka
ln -s b d2/linka
svn ci -m "update symlinks"
# Replace a symlink with a regular file
rm linkaa
echo data > linkaa
svn propdel svn:special linkaa
# Replace another symlink with a regular file in another way
# It should mark linka2 as R(eplaced)
svn rm linka2
echo data2 > linka2
svn add linka2
svn propdel svn:special linka2
svn rm d2/linka
svn ci -m "undo link"
cd ../..

svnadmin dump testrepo > ../symlinks.svndump