* subversion/tests/cmdline/commit_tests.py
(commit_sees_tree_conflict_on_unversioned_path): New test, XFail.
(test_list): Run it.
@@ -3146,6 +3146,40 @@ def commit_issue4722_checksum(sbox):
fp.write('abcdefghijklmnopqrstuvwxyz')
sbox.simple_commit()
+@XFail()
+def commit_sees_tree_conflict_on_unversioned_path(sbox):
+ "commit sees tree conflict on unversioned path"
+
+ sbox.build(empty=True)
+ was_cwd = os.getcwd()
+ os.chdir(sbox.wc_dir)
+ sbox.wc_dir = '.'
+
+ # create a tree conflict victim at an unversioned path
+ sbox.simple_mkdir('topdir')
+ sbox.simple_commit()
+ sbox.simple_mkdir('topdir/subdir')
+ sbox.simple_commit()
+ sbox.simple_update()
+ sbox.simple_rm('topdir')
+ sbox.simple_commit()
+ sbox.simple_update()
+ svntest.actions.run_and_verify_svn(
+ None, [],
+ 'merge', '-c2', sbox.wc_dir, '--ignore-ancestry', '--accept', 'postpone')
+ # check that we did create a conflict
+ svntest.actions.run_and_verify_svn(
+ None, 'svn: E155015:.*existing.*conflict.*',
+ 'merge', '-c1', sbox.wc_dir, '--ignore-ancestry', '--accept', 'postpone')
+
+ # attempt to commit; should fail
+ expected_err = "svn: E155015: .* '.*topdir' remains in conflict"
+ svntest.actions.run_and_verify_commit(sbox.wc_dir, None, None,
+ expected_err,
+ sbox.wc_dir)
+
+ os.chdir(was_cwd)
+
########################################################################
# Run the tests
@@ -3225,6 +3259,7 @@ test_list = [ None,
mkdir_conflict_proper_error,
commit_xml,
commit_issue4722_checksum,
+ commit_sees_tree_conflict_on_unversioned_path,
]
if __name__ == '__main__':
