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

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

From: Paul Burba <pburba_at_collab.net>
Date: 2007-10-01 16:53:36 CEST

> -----Original Message-----
> From: Kamesh Jayachandran
> Sent: Saturday, September 29, 2007 3:42 PM
> To: Paul Burba; dev@subversion.tigris.org; kameshj@tigris.org
> Subject: RE: RE: svn commit: r26803 - in trunk/subversion:
> libsvn_client tests/cmdline
>
> >> >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,

FWIW I think we can be sure that we don't have one. As I said before, I
*completely removed* this function and the test suite passed. That
would seem to constitute sufficient evidence that the code wasn't being
used in any meaningful way.

> in any case I will
> add one.

That would be really helpful. I need to write a new test for 2818 so
it's possible I could fold it into that test, but at the moment I'm
still not following the point of slice_remaining_ranges() completely
(see below).

> 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'

What about r27? In your example COPY_OF_A/D/G/pi has these initial
remaining_ranges:

  '21-29, 34-36, 40-100'

But per your example slice_remaining_ranges() would convert them into:

  '21-26, 27-29, 34-36, 40-100'

And r27 wouldn't be merged no?

Paul

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Oct 1 16:57:38 2007

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.