[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Add regression test for issue #3686:executable flag not correctly set on merge

From: Daniel Becroft <djcbecroft_at_gmail.com>
Date: Wed, 19 Jan 2011 21:17:23 +1000

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
> >wrote:
> > > 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
> be
> > 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
message below.

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.

Regards,
Daniel B.

[[[
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.

* subversion/tests/cmdline/merge_tests.py
  (merge_change_to_file_with_executable): New test case.
]]]

Received on 2011-01-19 12:18:26 CET

This is an archived mail posted to the Subversion Dev mailing list.