Le 09/03/11 12:44, Daniel Shahaf a écrit :
> Patrick Mézard wrote on Wed, Mar 09, 2011 at 09:54:13 +0100:
>> Le 09/03/11 03:27, Daniel Shahaf a écrit :
>>> Patrick Mézard wrote on Tue, Mar 08, 2011 at 22:23:04 +0100:
>>>> Hello,
>>>>
>>>> When replaying a revision merging an svn:externals property from a branch B to another A, using the svn python binding for svn_ra_replay, I get a property change event for svn:mergeinfo, but no event for the svn:externals property being merged into A. Is it expected?
>>>>
>>>> I hoped the replay API would generate all the events necessary to recreate the repository being replayed without additional calls. Do I need to retrieve the merged properties manually?
>>>>
>>>> This is with macports "svn, version 1.6.13 (r1002816)". A script to reproduce the input repository is attached.
>>>
>>> Does svnsync manage to replicate that svn:externals property?
>>>
>>> If yes, then the replay API does provide it to you.
>>
>> Yes, svnsync does replicate it. I will look at svnsync implementation
>> and try to come back with a minimalist python sample if I cannot get
>> it to work.
>>
>
> Personally, I'd start by looking at the declaration of
> svn_delta_editor_t (the C interface) --- I'm sure it doesn't have more
> than 2-3 functions that take a props_hash/prop_name/etc arguments.
As expected, there was something wrong in my replay editor, it did not copy directory properties upon copies. The merge was actually reported as an "add_directory()" with a copyfrom record.
Looking at svnsync.c code actually helped me compare what I was doing with what should be done.
Thanks for suggesting the svnsync test.
--
Patrick Mézard
Received on 2011-03-10 17:31:18 CET