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__':