On Thu, 2010-03-11, Greg Stein wrote:
> On Thu, Mar 11, 2010 at 02:54,  <julianf...@apache.org> wrote:
[...]
> > +++ subversion/trunk/subversion/libsvn_subr/mergeinfo.c Thu Mar 11 07:54:16 
> > 2010
> >...
> > @@ -1988,13 +1963,9 @@ svn_mergeinfo__filter_mergeinfo_by_range
> >             {
> >               apr_array_header_t *new_rangelist;
> >
> > -              if (include_range)
> > -                SVN_ERR(svn_rangelist_intersect(&new_rangelist, rangelist,
> > -                                                filter_rangelist, FALSE,
> > -                                                result_pool));
> > -              else
> > -                SVN_ERR(svn_rangelist_remove(&new_rangelist, 
> > filter_rangelist,
> > -                                             rangelist, FALSE, 
> > result_pool));
> > +              SVN_ERR(rangelist_intersect_or_remove(
> > +                        &new_rangelist, filter_rangelist, rangelist,
> > +                        ! include_range, FALSE, result_pool));
> 
> The intersect call had (rangelist, filter_rangelist), but the remove
> is opposite that. Yet the internal function passes along the one,
> consistent ordering. Are you sure that is not a problem?
> 
> IOW, they all end up at rangelist_intersect_or_remove(), but you have
> changed the order for the include_range==TRUE (intersect) case.

I'm confident that's correct: intersection is supposed to be
symmetrical.  I've just had another look, although haven't followed
completely through the logic of rangelist_intersect_or_remove() to check
for symmetry.

Paul, could you review this change for me, please?

- Julian


Reply via email to