Hello,

When file external is modified in the working copy, then creating a
branch or tag copies original file to the tag or branch (as well as
svn:externals property). This results in a new directory that can't be
checked out.

Please find reproduction script attached.

-- 
Alexander Kitaev,
TMate Software,
http://svnkit.com/ - Java [Sub]Versioning Library!
http://sqljet.com/ - Java SQLite Library!
#!/bin/sh

# The next line is the only line you should need to adjust.
SVNDIR=/home/builder/usr/svn-166/bin

SVN=${SVNDIR}/svn
SVNSERVE=${SVNDIR}/svnserve
SVNADMIN=${SVNDIR}/svnadmin

URL=file:///`pwd`/repos

rm -rf repos wc branch-wc import-me

${SVNADMIN} create repos

echo "### Making a Greek Tree for import..."
mkdir import-me
mkdir import-me/dir
touch import-me/dir/file.txt

(cd import-me; ${SVN} import -q -m "Initial import." ${URL})

echo "### Checking out WC..."
${SVN} co ${URL} wc

echo "### Setting svn:externals property..."
${SVN} ps svn:externals "external.txt ${URL}/dir/file.txt" wc/dir
${SVN} ci wc -m "external property set"

echo "### Update working copy..."
${SVN} up wc

echo "### Copy from wc to create a branch (revision 3)..."
${SVN} cp --parents wc/dir ${URL}/branch -m "branch created"

echo "### Check out branch, note that externals fails..."
${SVN} co ${URL}/branch branch-wc

echo "### Copy (revision 3) log:"
${SVN} log -v -r3 ${URL}

Reply via email to