You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Peter Valdemar M�rch <ra...@sneakemail.com> on 2003/07/29 10:58:55 UTC

0.19 -> 0.26 transition and svn:executable problem

Hi,

We have just upgraded from 0.19 to 0.26.

Merging many modifications from a branch to the trunk has given some problems.

First off, if an executable was added in 0.19, svn:executable was set to ''. In 0.26, that gets set to '*'. Merging files added on the branch with 0.19 to 0.26 gives conflicts and <file>.prej files with contents like: 

prop `svn:executable': user set to '*', but update set to ''.

We tried the recommended svnadmin dump/load procedure from The SVN Book, but it didn't make any difference. Going to the branch before the merge and changing '' to '*' for all svn:executable properties made it work, but was there a better way? Mostly, I'm worried about other things we didn't notice that might bite us later.

Experimenting a little, I discovered that in 0.19 adding an executable sets svn:executable to ''. In 0.26, adding sets svn:executable to '*', but, also in 0.26, importing an executable sets svn:executable to ''. If svn:executable is '', that creates conflicts during merge.

Is this a known problem?

Script to reproduce: (svn add with 0.19 or:)

rm -rf repo wc tmpfile
svnadmin create repo
svn mkdir -m "" file://`pwd`/repo/zig
# svn mkdir -m "" file://`pwd`/repo/zig/zag
svn mkdir -m "" file://`pwd`/repo/foo

# but this creates a .prej conflict!!
svn import -m "" /bin/ls file://`pwd`/repo/zig/binfileprej

# Can't only use local files for propset in 0.26
svn co file://`pwd`/repo/zig/ wc

# However, when under a dir (zag) this creates a conflict like in bug:
# 1319 : conflict with merge that adds binary files
# cp /bin/ls wc/zag/binfile
# svn add wc/zag/binfile
# svn ci -m "" wc/zag/binfile

# Note that you'd expect this to create a .prej conflict too, like above, 
# but it doesn't create any conflicts
# Also, if this add is missing, then svn merge segfaults in 0.26...
cp /bin/ls wc/binfile
svn add wc/binfile
svn ci -m "" wc/binfile

rm -rf wc

svn co file://`pwd`/repo/foo wc
svn merge -r1:HEAD file://`pwd`/repo/zig wc

svn st wc



--------------------------------------
Protect yourself from spam, 
use http://sneakemail.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: 0.19 -> 0.26 transition and svn:executable problem

Posted by kf...@collab.net.
"Peter Valdemar Mørch" <ra...@sneakemail.com> writes:
> We have just upgraded from 0.19 to 0.26.
> 
> Merging many modifications from a branch to the trunk has given some problems.
> 
> First off, if an executable was added in 0.19, svn:executable was set to ''. In 0.26, that gets set to '*'. Merging files added on the branch with 0.19 to 0.26 gives conflicts and <file>.prej files with contents like: 
> 
> prop `svn:executable': user set to '*', but update set to ''.
>
> [...]

I think Ben Collins-Sussman mentioned to me that he intends to file an
issue about this; watch the IZ database for action soon...

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org