view tests/fixtures/symlinks.sh @ 1081:c8d0f5983571

tests: cd to tempdir during setUp Since we were running hg clone from the hgsubversion repo, we would often pick up config settings from hgsubversion/.hg/hgrc, including loading extensions. This caused tests to fail for me when they asserted that obsolete is disabled because I have evolve enabled in my hgsubversion checkout. This was probably decreasing the overall stability of the test suite as well, since it meant that clones were running with pretty much arbitrary configs settings. Interestingly, the setUp was already keeping a record of the cwd before creating the tempdir, and tearDown was already cd-ing back to that directory.
author David Schleimer <dschleimer@fb.com>
date Wed, 14 Aug 2013 17:33:40 -0700
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