On Thu, 2010-03-11, Greg Stein wrote:
> On Thu, Mar 11, 2010 at 02:54, <julianfoad_at_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
Received on 2010-03-12 11:38:47 CET