Hi Daniel,

on 27.03.2010, at 19:00, Daniel Shahaf wrote:
> Tobias Bading wrote on Sat, 27 Mar 2010 at 15:11 +0100:
>> Please see the attached reproduction script for an example.
> 
> Forgotten/Stripped attachment?

No idea what the mailing list program did to my attachment.
Or maybe the attachment was blocked by a rampaging virus scanner?
Anyway, here's the attachment "properties-awol.sh" inline:

#!/bin/sh

##############################################################################
##                                                                          ##
##  Script to reproduce a bug where properties are lost in merges           ##
##  between two repositories.                                               ##
##                                                                          ##
##############################################################################

SVN=`which svn`
SVNADMIN=`which svnadmin`

URL1=file:///`pwd`/repos1
URL2=file:///`pwd`/repos2

rm -rf repos1 repos2 wc1 wc2 import-me

${SVNADMIN} create repos1
${SVNADMIN} create repos2

# setting up the first repository:

echo ""
echo "### Checking out working copy of first empty repository..."
${SVN} co -q ${URL1} wc1
echo ""

echo "### Creating file 'configure' and assigning properties..."
echo "echo This sucks..." > wc1/configure
chmod 755 wc1/configure
${SVN} add -q wc1/configure
${SVN} propset -q svn:eol-style native wc1/configure
echo ""

echo "### Properties of file 'configure' in first working copy:"
${SVN} proplist -v wc1/configure
echo ""

echo "### Commiting changes to first repository..."
${SVN} ci -m "file configure added" wc1
echo ""

echo "### Properties of file 'configure' in first repository:"
echo "### (svn:executable and svn:eol-style should be set and are indeed set)"
${SVN} proplist -v ${URL1}/configure
echo ""

# merging into a working copy of the second repository:

echo "### Checking out working copy of second empty repository..."
${SVN} co -q ${URL2} wc2
echo ""

echo "### Merging r1 of first repository into working copy of second 
repository..."
${SVN} merge -c 1 ${URL1} wc2
echo ""

echo "### Properties of file 'configure' in second working copy:"
${SVN} proplist -v wc2/configure
echo ""

echo "### Commiting changes to second repository..."
${SVN} ci -m "r1 merged" wc2
echo ""

echo "### Properties of file 'configure' in second working copy after the 
commit:"
${SVN} proplist -v wc2/configure
echo ""

echo "### Properties of file 'configure' in second repository:"
echo "### (svn:executable and svn:eol-style should be set but are NOT)"
${SVN} proplist -v ${URL2}/configure
echo ""

echo "### Diff of r1 in second repository:"
echo "### (should show property changes but does NOT)"
${SVN} diff -c 1 ${URL2}
echo ""

Reply via email to