view tests/fixtures/symlinks.sh @ 611:b70f7c82b9b8

svncommands: fix layering violation & tweak error messages. Importing `SubversionException' directly from `svn.core' is a layering violation: Anything within the Subversion bindings should only be accessed via svnwrap. The advantages to doing this are twofold: we only need to intercept missing bindings in one place, and we have the option of supporting alternate bindings. As an added bonus, the recently-added support for intercepting missing Subversion bindings actually works. Two error messages are tweaked to remove `It appears...' from one error message (just blaming Subversion instead) and make both errors include the URL in the suggested command line.
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Fri, 14 May 2010 20:22:32 +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