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

RE: RE: svn commit: r26803 - in trunk/subversion: libsvn_client tests/cmdline

From: Kamesh Jayachandran <kamesh_at_collab.net>
Date: 2007-09-29 21:41:53 CEST

>> >children_with_mergeinfo is populated with
>> svn_client__merge_path_t* not
>> >svn_client__merge_path_t *. I assume you meant something like:
>>
>> >svn_merge_range_t *range = APR_ARRAY_IDX(child->remaining_ranges, 0,
>> >svn_merge_range_t *); ?
>>
>> Thanks for the catch Paul, fixed in r26840.

>Hi Kamesh,

>I assume you saw my comment regarding slice_remaining_ranges()?

I did see that, But I could not see any flaw with it.

>> Regardless, slice_remaining_ranges() is definitely not doing what you
>> want. Interestingly, the test suite passes* with it completely
>> removed!

>It's not immediately obvious to me when slice_remaining_ranges() might
>be useful and obviously it isn't being exercised by the test suite at
>present. Possibly we could add a test or tweak an existing one to do
>this?

I am not sure whether we have one already, in any case I will add one.
Let me explain what it does here.
Your WC target is 'COPY_OF_A/D/G', requested merge range is 22:100
Suppose if you have the following 'children_with_mergeinfo'
[
{path:'COPY_OF_A/D/G', 'remaining_ranges':'22-26, 28-29, 34-36, 40-100'},
{path:'COPY_OF_A/D/G/pi', 'remaining_ranges':'21-29, 34-36, 40-100'},
]
In first iteration of WHILE loop in discover_and_merge_children we run a merge for 22:26(26 is the nearest end rev).

So before doing the merge we need to slice COPY_OF_A/D/G/pi's remaining_ranges to so that it has the following remaining ranges '21-26, 27-29, 34-36, 40-100', so that in the next while loop we can do a merge for '27-whatever-next-rev' on 'COPY_OF_A/D/G/pi'

Hope the above explanation helps.

With regards
Kamesh Jayachandran
Received on Sat Sep 29 21:42:05 2007

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