On Wed, Jan 19, 2011 at 7:36 AM, Daniel Shahaf <d.s_at_daniel.shahaf.name>wrote:
> Daniel Becroft wrote on Wed, Jan 19, 2011 at 07:27:15 +1000:
> > On Wed, Jan 19, 2011 at 3:08 AM, Daniel Shahaf <d.s_at_daniel.shahaf.name
> > > Daniel Becroft wrote on Tue, Jan 18, 2011 at 07:13:12 +1000:
> > > > 2) The problem also exists under the '--reintegrate' scenario, even
> > > > after a subsequent commit. Would it be better to include that case
> > > > here, or move the entire test to the merge_reintegrate.py suite?
> > > >
> > >
> > > I'm not sure we need a separate test for the --reintegrate case;
> > > it seems reasonable to assume it does (and will) share the 'set +x
> > > permission' logic with normal merges.
> > >
> > I thought about that, but this situation fixes itself after the 'svn
> > merge/svn commit' combination. However, after using --reintegrate. and
> > committing, the executable bit is still not set, so I think there might
> > something more going on there.
> Ah, if there's a different in the results between merge and reintegrate
> merge, then two tests are justifiable. (I missed that part of your
> original comment.)
Thanks, Daniel. I've attached a new version of the patch, with amended log
Blair: I've also looked at *why* this problem exists, and it's due to the
"Special case" merge of binary files (libsvn_client/merge.c:1454). If (right
== working), then do a simple file copy from the temporary file (which is
not marked as +x). This means that we don't run svn_wc_merge4.
Unfortunately, this means that a workqueue is not created, and the
sync_file_flags is never run. As to what the fix is, I have no idea.
Add regression test for issue #3686.
This issue involves the executable flag being lost during a merge of a
binary file with the 'svn:executable' property set.
(merge_change_to_file_with_executable): New test case.
Received on 2011-01-19 12:18:26 CET