You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2017/07/20 13:01:06 UTC

svn commit: r1802480 - /subversion/trunk/subversion/libsvn_subr/mergeinfo.c

Author: rhuijben
Date: Thu Jul 20 13:01:06 2017
New Revision: 1802480

URL: http://svn.apache.org/viewvc?rev=1802480&view=rev
Log:
Following up on r1802470, avoid expensive work on an adjoined range that
can't be collapsed anyway.

* subversion/libsvn_subr/mergeinfo.c
  (svn_rangelist_merge2): Handle another simple case where we can't
    collapse ranges.

Modified:
    subversion/trunk/subversion/libsvn_subr/mergeinfo.c

Modified: subversion/trunk/subversion/libsvn_subr/mergeinfo.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/mergeinfo.c?rev=1802480&r1=1802479&r2=1802480&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/mergeinfo.c (original)
+++ subversion/trunk/subversion/libsvn_subr/mergeinfo.c Thu Jul 20 13:01:06 2017
@@ -1014,7 +1014,9 @@ svn_rangelist_merge2(svn_rangelist_t *ra
           svn_sort__array_insert(rangelist, &chg_copy, i++);
           continue;
         }
-      else if (change->start > range->end)
+      else if ((change->start > range->end)
+               || (change->start == range->end
+                   && change->inheritable != range->inheritable))
         {
           /* No overlap, nor adjoin. Check next range item against change */
           i++;
@@ -1082,9 +1084,7 @@ svn_rangelist_merge2(svn_rangelist_t *ra
                   /* RANGE and CHANGE adjoin, but have different
                      inheritability.  Since RANGE is older, just
                      move on to the next RANGE. */
-                  i++;
-                  j--;
-                  continue;
+                  SVN_ERR_MALFUNCTION();
                 }
             }
           else