You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by pb...@apache.org on 2013/01/25 18:27:55 UTC
svn commit: r1438602 -
/subversion/trunk/subversion/tests/cmdline/merge_tests.py
Author: pburba
Date: Fri Jan 25 17:27:55 2013
New Revision: 1438602
URL: http://svn.apache.org/viewvc?rev=1438602&view=rev
Log:
* subversion/tests/cmdline/merge_tests.py
(conflict_aborted_mergeinfo_described_partial_merge): New test for
issue #4306 'multiple editor drive merges record wrong mergeinfo
during conflicts'.
Modified:
subversion/trunk/subversion/tests/cmdline/merge_tests.py
Modified: subversion/trunk/subversion/tests/cmdline/merge_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/merge_tests.py?rev=1438602&r1=1438601&r2=1438602&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/merge_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/merge_tests.py Fri Jan 25 17:27:55 2013
@@ -18174,8 +18174,56 @@ def merge_properties_on_adds(sbox):
# })
# svntest.actions.run_and_verify_status(G, expected_status)
-
-
+@SkipUnless(server_has_mergeinfo)
+@Issue(4306)
+@XFail()
+# Test for issue #4306 'multiple editor drive merges record wrong
+# mergeinfo during conflicts'
+def conflict_aborted_mergeinfo_described_partial_merge(sbox):
+ "conflicted split merge can be repeated"
+
+ sbox.build()
+
+ iota_copy_path = sbox.ospath('iota-copy')
+
+ # r2
+ sbox.simple_copy('iota', 'iota-copy')
+ sbox.simple_commit()
+
+ # r3
+ sbox.simple_append('iota', 'new line in r3')
+ sbox.simple_commit()
+
+ # r4
+ sbox.simple_append('iota', 'new line in r4')
+ sbox.simple_commit()
+
+ # r5
+ sbox.simple_append('iota', 'new line in r5')
+ sbox.simple_commit()
+
+ # r6 Merge r4 from iota to iota-moved
+ svntest.actions.run_and_verify_svn(None, None, [], 'merge', '^/iota',
+ '-c', '4', iota_copy_path, '--accept',
+ 'theirs-conflict')
+ sbox.simple_commit()
+
+ # Merge everything (i.e. r2 and r5) from iota to iota-moved.
+ # This is split into to merges, first of r2 and then of r5.
+ # But since we are postponing conflict resolution, the merge
+ # should stop after r2 is merged, allowing us to resolve and
+ # repeat the merge at which point r5 can be merged. The mergeinfo
+ # on iota-copy then should only reflect that r2 and r3 have been
+ # merged from ^/iota; r5 should not be present.
+ svntest.actions.run_and_verify_svn(None, None, '.*', 'merge', '^/iota',
+ iota_copy_path, '--accept', 'postpone')
+
+ # Currently this test fails because the merge fails after merging
+ # only r2 (as it should) but mergeinfo for r5-6 is recorded, preventing
+ # subsequent repeat merges from applying the operative r5.
+ svntest.actions.run_and_verify_svn(
+ "Incorrect mergeinfo set during conflict aborted merge",
+ ['/iota:2-4\n'], [], 'pg', SVN_PROP_MERGEINFO, iota_copy_path)
########################################################################
# Run the tests
@@ -18317,6 +18365,7 @@ test_list = [ None,
merge_conflict_when_keywords_removed,
merge_target_selection,
merge_properties_on_adds,
+ conflict_aborted_mergeinfo_described_partial_merge,
]
if __name__ == '__main__':