On Thu, Mar 11, 2010 at 02:54, <julianf...@apache.org> wrote: > Author: julianfoad > Date: Thu Mar 11 07:54:16 2010 > New Revision: 921713 > > URL: http://svn.apache.org/viewvc?rev=921713&view=rev > Log: > Simplify two mergeinfo functions. > > * subversion/libsvn_subr/mergeinfo.c > (svn_mergeinfo_inheritable): Replace the body with a call to > svn_mergeinfo_inheritable2().
This function, along with svn_rangelist_inheritable should be marked as SVN_DEPRECATED in the header file. We may have caught this duplicative logic earlier. Further, these deprecated functions should move to libsvn_subr/deprecated.c >... > +++ 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. Cheers, -g