On the 1.5.x-issue3067 backport branch, merge r31927 from trunk.

* subversion/tests/cmdline/merge_tests.py
* subversion/libsvn_client/merge.c
  Clean merge.

* src-branch-3067, CHANGES, COMMITTERS, subversion/bindings/swig:
  Mergeinfo updates.



git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/1.5.x-issue3067@872196 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/subversion/libsvn_client/merge.c b/subversion/libsvn_client/merge.c
index 62b1cf7..991a2d6 100644
--- a/subversion/libsvn_client/merge.c
+++ b/subversion/libsvn_client/merge.c
@@ -1741,7 +1741,8 @@
       if (segments->nelts)
         {
           svn_location_segment_t *segment =
-            APR_ARRAY_IDX(segments, 0, svn_location_segment_t *);
+            APR_ARRAY_IDX(segments, (segments->nelts - 1),
+                          svn_location_segment_t *);
           if (is_rollback)
             {
               if (segment->range_start == revision2
@@ -1812,11 +1813,7 @@
                      rename between REVISION1:REVISION2 - see 'MERGE FAILS' in
                      http://subversion.tigris.org/issues/show_bug.cgi?id=3067#desc34.
                      */
-                  if (segment->path /* Is NULL if a gap in history. */
-                      && strcmp(segment->path, mergeinfo_path + 1) != 0)
-                    push_range(different_name_rangelist, segment->range_start,
-                               segment->range_end, TRUE, pool);
-                  for (i = 1; i < segments->nelts; i++)
+                  for (i = 0; i < segments->nelts; i++)
                     {
                       segment =
                         APR_ARRAY_IDX(segments, i, svn_location_segment_t *);
diff --git a/subversion/tests/cmdline/merge_tests.py b/subversion/tests/cmdline/merge_tests.py
index a1896e5..caa5519 100755
--- a/subversion/tests/cmdline/merge_tests.py
+++ b/subversion/tests/cmdline/merge_tests.py
@@ -12559,8 +12559,7 @@
                          server_has_mergeinfo),
               SkipUnless(subtree_source_missing_in_requested_range,
                          server_has_mergeinfo),
-              SkipUnless(XFail(subtrees_with_empty_mergeinfo),
-                         server_has_mergeinfo),
+              SkipUnless(subtrees_with_empty_mergeinfo, server_has_mergeinfo),
              ]
 
 if __name__ == '__main__':