Matthias Weyh wrote on Wed, 7 Jul 2010 at 09:15 -0000: > Hello, > > I have added a command list for reproducing the issue. >
Thank you. It's much easier to understand the situation now. > Please note the last commit message. At this point the executable flag > is missing. It is however recovered on the commit. > I've read the transcript and I agree it's a bug. Please go ahead and file a bug report at http://subversion.tigris.org/issues/, so that we don't forget about it. If you'd like to dive in and help fix it, that's more than okay :-) > best regards, > Matthias > Daniel > > $ 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 > > > > > > > > >