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.s_at_daniel.shahaf.name]
> Gesendet: Dienstag, 6. Juli 2010 20:35
> An: Matthias Weyh
> Cc: users_at_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
> >
> >
> >
>
>
>
Received on 2010-07-08 13:33:46 CEST