Hello, I have added a command list for reproducing the issue.
Please note the last commit message. At this point the executable flag is missing. It is however recovered on the commit. best regards, Matthias $ svnadmin create /a/svnserver $ svn checkout file:///a/svnserver /a/wc Checked out revision 0. $ cd /a/wc $ mkdir trunk $ mkdir branches $ mkdir tags $ svn add trunk tags branches A trunk A tags A branches $ svn commit -m "initial structure" Adding branches Adding tags Adding trunk Committed revision 1. $ svn switch file:///a/svnserver/trunk D trunk D branches D tags Updated to revision 1. $ dd if=/dev/urandom of=executable.bin bs=1k count=1 1+0 records in 1+0 records out 1024 bytes (1.0 kB) copied, 0.000298366 s, 3.4 MB/s $ ls -la total 16 drwxr-xr-x 3 devtsd devtsd 4096 2010-07-07 07:58 . drwxr-xr-x 12 devtsd devtsd 4096 2010-07-07 07:56 .. -rw-r--r-- 1 devtsd devtsd 1024 2010-07-07 07:58 executable.bin drwxr-xr-x 6 devtsd devtsd 4096 2010-07-07 07:57 .svn $ svn propset svn:executable ON executable.bin property 'svn:executable' set on 'executable.bin' $ ls -la total 16 drwxr-xr-x 3 devtsd devtsd 4096 2010-07-07 07:58 . drwxr-xr-x 12 devtsd devtsd 4096 2010-07-07 07:56 .. -rwxr-xr-x 1 devtsd devtsd 1024 2010-07-07 07:58 executable.bin drwxr-xr-x 6 devtsd devtsd 4096 2010-07-07 08:02 .svn $ svn commit -m "executable added" Adding (bin) executable.bin Transmitting file data . Committed revision 2. $ svn copy file:///a/svnserver/trunk file:///a/svnserver/branches/b1 - "created branch b1" Committed revision 3. $ dd if=/dev/urandom of=executable.bin bs=1k count=1 1+0 records in 1+0 records out 1024 bytes (1.0 kB) copied, 0.000177119 s, 5.8 MB/s $ ls -la total 16 drwxr-xr-x 3 devtsd devtsd 4096 2010-07-07 08:04 . drwxr-xr-x 12 devtsd devtsd 4096 2010-07-07 07:56 .. -rwxr-xr-x 1 devtsd devtsd 1024 2010-07-07 08:04 executable.bin drwxr-xr-x 6 devtsd devtsd 4096 2010-07-07 08:02 .svn $ svn commit -m "executable modified" Sending executable.bin Transmitting file data . Committed revision 4. $ svn switch file:///a/svnserver/branches/b1 U executable.bin Updated to revision 4. $ ls -la total 16 drwxr-xr-x 3 devtsd devtsd 4096 2010-07-07 08:06 . drwxr-xr-x 12 devtsd devtsd 4096 2010-07-07 07:56 .. -rwxr-xr-x 1 devtsd devtsd 1024 2010-07-07 08:06 executable.bin drwxr-xr-x 6 devtsd devtsd 4096 2010-07-07 08:06 .svn $ svn merge file:///a/svnserver/trunk -r 3:4 --- Merging r4 into '.': U executable.bin $ ls -la total 16 drwxr-xr-x 3 devtsd devtsd 4096 2010-07-07 08:07 . drwxr-xr-x 12 devtsd devtsd 4096 2010-07-07 07:56 .. -rw-r--r-- 1 devtsd devtsd 1024 2010-07-07 08:07 executable.bin drwxr-xr-x 6 devtsd devtsd 4096 2010-07-07 08:07 .svn $ svn commit -m "executable now has no execute flag which it should but this will change with the commit" Sending . Sending executable.bin Transmitting file data . Committed revision 5. $ ls -la total 16 drwxr-xr-x 3 devtsd devtsd 4096 2010-07-07 08:07 . drwxr-xr-x 12 devtsd devtsd 4096 2010-07-07 07:56 .. -rwxr-xr-x 1 devtsd devtsd 1024 2010-07-07 08:07 executable.bin drwxr-xr-x 6 devtsd devtsd 4096 2010-07-07 08:07 .svn -----Ursprüngliche Nachricht----- Von: Daniel Shahaf [mailto:d...@daniel.shahaf.name] Gesendet: Dienstag, 6. Juli 2010 20:35 An: Matthias Weyh Cc: users@subversion.apache.org Betreff: Re: merging executable binaries It's not clear to me exactly what you did. (The most unambiguous way to explain yourself is to post a list of commands, starting from 'svnadmin create'.) However, if you run 'svn merge' and at the end of the operation a file has svn:executable set, then its +x permission should be set --- and if not, that's a bug. Matthias Weyh wrote on Mon, 5 Jul 2010 at 15:54 -0000: > Hello, > > I have seen the following behaviour. > > added binary file to SVN with property svn:executable > executable bits are then set on the file > checked in the file > added a branch which included the file > modified the file in TRUNK > merged the change to branch > the executable flag on the file is then gone > however when I commit the merge the executable flag of the file is again > being set > > Is this the correct behaviour (is the executable flag supposed to be > missing after a merge - and then added when the file is actually > committed)? > > The behaviour is different for non binary executables (the executable > bits are always set in this case). > > The SVN version I used was 1.6.6 on Ubuntu 10.0.4. The filesystem on > which the working copy resides is EXT4. > > I hope someone can clear this up for me. > > Thanks, > Matthias > > >