The attached patch expands the test "move_file_back_and_forth" (copy_tests.py 45) as a regression test for issue#3429.
[[[ Expand move_file_back_and_forth test to verify issue #3429 ("svn mv A B; svn mv B A" generates replace without history). * subversion/tests/cmdline/copy_tests.py (move_file_back_and_forth): Check expected status before commit. ]]] Cheers, -- Johan
Index: subversion/tests/cmdline/copy_tests.py =================================================================== --- subversion/tests/cmdline/copy_tests.py (revision 1035851) +++ subversion/tests/cmdline/copy_tests.py (working copy) @@ -2428,17 +2428,27 @@ def move_file_back_and_forth(sbox): svntest.actions.run_and_verify_svn(None, None, [], 'mv', rho_move_path, rho_path) + # Create expected status tree before commit + expected_status = svntest.actions.get_virginal_state(wc_dir, 1) + expected_status.add({ + 'A/D/G/rho' : Item(status='R ', copied='+', wc_rev='-'), + }) + + # Test status before commit + svntest.actions.run_and_verify_status(wc_dir, expected_status) + # Created expected output tree for 'svn ci': expected_output = svntest.wc.State(wc_dir, { 'A/D/G/rho' : Item(verb='Replacing'), }) - # Create expected status tree + # Create expected status tree after commit expected_status = svntest.actions.get_virginal_state(wc_dir, 1) expected_status.add({ 'A/D/G/rho' : Item(status=' ', wc_rev=2), }) + # Test commit output and status svntest.actions.run_and_verify_commit(wc_dir, expected_output, expected_status,