view tests/fixtures/symlinks.sh @ 326:33736e2e25f0

alternate approach for supporting svn schemes for repository paths We now intercept the operations in the local repo class, and handle the relevant operation ourselves. This frees us from wrapping all relevant commands and replicating their functionality. The implementation is incomplete; only one test has been modified to use the standard Mercurial API with the changed URLs. Once changed, those tests will likely reveal bugs or missing features in the new wrappers. Also, new wrappers will be needed for handling conversion flags such as -A/--authormap.
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Thu, 07 May 2009 20:50:53 +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