summaryrefslogtreecommitdiff
path: root/subversion/tests/cmdline/commit_tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'subversion/tests/cmdline/commit_tests.py')
-rwxr-xr-xsubversion/tests/cmdline/commit_tests.py38
1 files changed, 37 insertions, 1 deletions
diff --git a/subversion/tests/cmdline/commit_tests.py b/subversion/tests/cmdline/commit_tests.py
index 4f4a6f9..7f7591e 100755
--- a/subversion/tests/cmdline/commit_tests.py
+++ b/subversion/tests/cmdline/commit_tests.py
@@ -2823,7 +2823,8 @@ def commit_add_subadd(sbox):
# prepare targets file
targets = "A/D A/D/H A/D/H/chi A/D/H/omega A/D/H/psi".split()
- open(targets_file, 'w').write("\n".join(targets))
+ with open(targets_file, 'w') as f:
+ f.write("\n".join(targets))
# r2: rm A/D
sbox.simple_rm('A/D')
@@ -3145,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
@@ -3224,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__':