You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by cm...@apache.org on 2012/06/27 17:13:42 UTC
svn commit: r1354571 [32/37] - in /subversion/branches/master-passphrase: ./
build/ build/ac-macros/ build/generator/ build/generator/templates/
build/win32/ contrib/client-side/emacs/ contrib/server-side/ notes/
notes/api-errata/1.8/ notes/directory-i...
Modified: subversion/branches/master-passphrase/subversion/tests/cmdline/merge_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/tests/cmdline/merge_tests.py?rev=1354571&r1=1354570&r2=1354571&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/tests/cmdline/merge_tests.py (original)
+++ subversion/branches/master-passphrase/subversion/tests/cmdline/merge_tests.py Wed Jun 27 15:12:37 2012
@@ -205,8 +205,8 @@ def textual_merges_galore(sbox):
# url = os.path.join(svntest.main.test_area_url, sbox.repo_dir)
# Change mu and rho for revision 2
- mu_path = os.path.join(wc_dir, 'A', 'mu')
- rho_path = os.path.join(wc_dir, 'A', 'D', 'G', 'rho')
+ mu_path = sbox.ospath('A/mu')
+ rho_path = sbox.ospath('A/D/G/rho')
mu_text = fill_file_with_lines(mu_path, 2)
rho_text = fill_file_with_lines(rho_path, 2)
@@ -234,9 +234,9 @@ def textual_merges_galore(sbox):
# Now commit some more mods from the original working copy, to
# produce revision 3.
- lambda_path = os.path.join(wc_dir, 'A', 'B', 'lambda')
- pi_path = os.path.join(wc_dir, 'A', 'D', 'G', 'pi')
- tau_path = os.path.join(wc_dir, 'A', 'D', 'G', 'tau')
+ lambda_path = sbox.ospath('A/B/lambda')
+ pi_path = sbox.ospath('A/D/G/pi')
+ tau_path = sbox.ospath('A/D/G/tau')
lambda_text = fill_file_with_lines(lambda_path, 2)
pi_text = fill_file_with_lines(pi_path, 2)
@@ -440,8 +440,8 @@ def add_with_history(sbox):
sbox.build()
wc_dir = sbox.wc_dir
- C_path = os.path.join(wc_dir, 'A', 'C')
- F_path = os.path.join(wc_dir, 'A', 'B', 'F')
+ C_path = sbox.ospath('A/C')
+ F_path = sbox.ospath('A/B/F')
F_url = sbox.repo_url + '/A/B/F'
Q_path = os.path.join(F_path, 'Q')
@@ -569,9 +569,9 @@ def simple_property_merges(sbox):
wc_dir = sbox.wc_dir
# Add a property to a file and a directory
- alpha_path = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha')
- beta_path = os.path.join(wc_dir, 'A', 'B', 'E', 'beta')
- E_path = os.path.join(wc_dir, 'A', 'B', 'E')
+ alpha_path = sbox.ospath('A/B/E/alpha')
+ beta_path = sbox.ospath('A/B/E/beta')
+ E_path = sbox.ospath('A/B/E')
svntest.actions.run_and_verify_svn(None, None, [],
'propset', 'foo', 'foo_val',
@@ -642,7 +642,7 @@ def simple_property_merges(sbox):
pristine_status.tweak(wc_rev=4)
# Merge B 3:4 into B2
- B2_path = os.path.join(wc_dir, 'A', 'B2')
+ B2_path = sbox.ospath('A/B2')
expected_output = wc.State(B2_path, {
'E' : Item(status=' U'),
'E/alpha' : Item(status=' U'),
@@ -760,7 +760,7 @@ def simple_property_merges(sbox):
# inherited from A2 (created by its copy from A) allows us to avoid
# a repeated merge.
alpha_url = sbox.repo_url + '/A/B/E/alpha'
- alpha_path = os.path.join(wc_dir, 'B', 'E', 'alpha')
+ alpha_path = sbox.ospath('B/E/alpha')
# Cannot use run_and_verify_merge with a file target
svntest.actions.run_and_verify_svn(None, [], [], 'merge', '-r', '3:4',
@@ -795,9 +795,9 @@ def merge_similar_unrelated_trees(sbox):
# Modify some stuff in the second one. Now merge
# (firstdir:seconddir->thirddir).
- base1_path = os.path.join(wc_dir, 'base1')
- base2_path = os.path.join(wc_dir, 'base2')
- apply_path = os.path.join(wc_dir, 'apply')
+ base1_path = sbox.ospath('base1')
+ base2_path = sbox.ospath('base2')
+ apply_path = sbox.ospath('apply')
base1_url = os.path.join(sbox.repo_url + '/base1')
base2_url = os.path.join(sbox.repo_url + '/base2')
@@ -872,7 +872,7 @@ def merge_one_file_helper(sbox, arg_flav
rho_rel_path = os.path.join('A', 'D', 'G', 'rho')
rho_path = os.path.join(wc_dir, rho_rel_path)
- G_path = os.path.join(wc_dir, 'A', 'D', 'G')
+ G_path = sbox.ospath('A/D/G')
rho_url = sbox.repo_url + '/A/D/G/rho'
# Change rho for revision 2
@@ -1014,7 +1014,7 @@ def merge_with_implicit_target_helper(sb
wc_dir = sbox.wc_dir
# Change mu for revision 2
- mu_path = os.path.join(wc_dir, 'A', 'mu')
+ mu_path = sbox.ospath('A/mu')
orig_mu_text = svntest.tree.get_text(mu_path)
added_mu_text = ""
for x in range(2,11):
@@ -1145,7 +1145,7 @@ def merge_with_prev(sbox):
wc_dir = sbox.wc_dir
# Change mu for revision 2
- mu_path = os.path.join(wc_dir, 'A', 'mu')
+ mu_path = sbox.ospath('A/mu')
orig_mu_text = svntest.tree.get_text(mu_path)
added_mu_text = ""
for x in range(2,11):
@@ -1153,7 +1153,7 @@ def merge_with_prev(sbox):
added_mu_text += "\n"
svntest.main.file_append(mu_path, added_mu_text)
- zot_path = os.path.join(wc_dir, 'A', 'zot')
+ zot_path = sbox.ospath('A/zot')
svntest.main.file_append(zot_path, "bar")
svntest.main.run_svn(None, 'add', zot_path)
@@ -1248,7 +1248,7 @@ def merge_binary_file(sbox):
# Add a binary file to the project
theta_contents = open(os.path.join(sys.path[0], "theta.bin"), 'rb').read()
# Write PNG file data into 'A/theta'.
- theta_path = os.path.join(wc_dir, 'A', 'theta')
+ theta_path = sbox.ospath('A/theta')
svntest.main.file_write(theta_path, theta_contents, 'wb')
svntest.main.run_svn(None, 'add', theta_path)
@@ -1342,7 +1342,7 @@ def merge_in_new_file_and_diff(sbox):
svntest.actions.run_and_verify_svn(None, None, [],
'update', wc_dir)
- new_file_path = os.path.join(wc_dir, 'A', 'B', 'E', 'newfile')
+ new_file_path = sbox.ospath('A/B/E/newfile')
svntest.main.file_write(new_file_path, "newfile\n")
# Add the new file, and commit revision 3.
@@ -1351,7 +1351,7 @@ def merge_in_new_file_and_diff(sbox):
'ci', '-m',
"Changing the trunk.", wc_dir)
- branch_path = os.path.join(wc_dir, "branch")
+ branch_path = sbox.ospath('branch')
url_branch_path = branch_path.replace(os.path.sep, '/')
# Merge our addition into the branch.
@@ -1418,8 +1418,8 @@ def merge_skips_obstructions(sbox):
sbox.build()
wc_dir = sbox.wc_dir
- C_path = os.path.join(wc_dir, 'A', 'C')
- F_path = os.path.join(wc_dir, 'A', 'B', 'F')
+ C_path = sbox.ospath('A/C')
+ F_path = sbox.ospath('A/B/F')
F_url = sbox.repo_url + '/A/B/F'
Q_path = os.path.join(F_path, 'Q')
@@ -1539,8 +1539,8 @@ def merge_skips_obstructions(sbox):
svntest.actions.run_and_verify_svn(None, None, [], 'revert', '-R', wc_dir)
svntest.actions.run_and_verify_status(wc_dir, pre_merge_status)
- iota_path = os.path.join(wc_dir, 'iota')
- G_path = os.path.join(wc_dir, 'A', 'D', 'G')
+ iota_path = sbox.ospath('iota')
+ G_path = sbox.ospath('A/D/G')
svntest.actions.run_and_verify_svn(None, None, [], 'rm', iota_path, G_path)
expected_output = wc.State(wc_dir, {
@@ -1603,7 +1603,7 @@ def merge_skips_obstructions(sbox):
expected_status.tweak('', status=' ')
svntest.actions.run_and_verify_status(wc_dir, expected_status)
- lambda_path = os.path.join(wc_dir, 'A', 'B', 'lambda')
+ lambda_path = sbox.ospath('A/B/lambda')
svntest.main.file_append(lambda_path, "more text")
expected_output = wc.State(wc_dir, {
'A/B/lambda' : Item(verb='Sending'),
@@ -1723,7 +1723,7 @@ def merge_into_missing(sbox):
single_db = svntest.main.wc_is_singledb(wc_dir)
- F_path = os.path.join(wc_dir, 'A', 'B', 'F')
+ F_path = sbox.ospath('A/B/F')
F_url = sbox.repo_url + '/A/B/F'
Q_path = os.path.join(F_path, 'Q')
foo_path = os.path.join(F_path, 'foo')
@@ -1891,7 +1891,7 @@ def dry_run_adds_file_with_prop(sbox):
wc_dir = sbox.wc_dir
# Commit a new file which has a property.
- zig_path = os.path.join(wc_dir, 'A', 'B', 'E', 'zig')
+ zig_path = sbox.ospath('A/B/E/zig')
svntest.main.file_append(zig_path, "zig contents")
svntest.actions.run_and_verify_svn(None, None, [], 'add', zig_path)
svntest.actions.run_and_verify_svn(None, None, [],
@@ -1911,7 +1911,7 @@ def dry_run_adds_file_with_prop(sbox):
None, wc_dir)
# Do a regular merge of that change into a different dir.
- F_path = os.path.join(wc_dir, 'A', 'B', 'F')
+ F_path = sbox.ospath('A/B/F')
E_url = sbox.repo_url + '/A/B/E'
expected_output = wc.State(F_path, {
@@ -1951,7 +1951,7 @@ def merge_binary_with_common_ancestry(sb
wc_dir = sbox.wc_dir
# Create the common ancestry path
- I_path = os.path.join(wc_dir, 'I')
+ I_path = sbox.ospath('I')
svntest.main.run_svn(None, 'mkdir', I_path)
# Add a binary file to the common ancestry path
@@ -1980,7 +1980,7 @@ def merge_binary_with_common_ancestry(sb
wc_dir)
# Create the first branch
- J_path = os.path.join(wc_dir, 'J')
+ J_path = sbox.ospath('J')
svntest.main.run_svn(None, 'copy', I_path, J_path)
# Commit the first branch
@@ -1999,7 +1999,7 @@ def merge_binary_with_common_ancestry(sb
wc_dir)
# Create the path where the files will be merged
- K_path = os.path.join(wc_dir, 'K')
+ K_path = sbox.ospath('K')
svntest.main.run_svn(None, 'mkdir', K_path)
# Commit the new path
@@ -2050,7 +2050,7 @@ def merge_binary_with_common_ancestry(sb
wc_dir)
# Create the second branch from the modified ancestry
- L_path = os.path.join(wc_dir, 'L')
+ L_path = sbox.ospath('L')
svntest.main.run_svn(None, 'copy', I_path, L_path)
# Commit the second branch
@@ -2169,7 +2169,7 @@ def merge_funny_chars_on_path(sbox):
None, wc_dir)
# Do a regular merge of that change into a different dir.
- F_path = os.path.join(wc_dir, 'A', 'B', 'F')
+ F_path = sbox.ospath('A/B/F')
E_url = sbox.repo_url + '/A/B/E'
expected_output_dic = {}
@@ -2315,7 +2315,7 @@ def merge_prop_change_to_deleted_target(
wc_dir = sbox.wc_dir
# Add a property to alpha.
- alpha_path = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha')
+ alpha_path = sbox.ospath('A/B/E/alpha')
svntest.actions.run_and_verify_svn(None, None, [],
'propset', 'foo', 'foo_val',
alpha_path)
@@ -2364,8 +2364,8 @@ def set_up_dir_replace(sbox):
sbox.build()
wc_dir = sbox.wc_dir
- C_path = os.path.join(wc_dir, 'A', 'C')
- F_path = os.path.join(wc_dir, 'A', 'B', 'F')
+ C_path = sbox.ospath('A/C')
+ F_path = sbox.ospath('A/B/F')
F_url = sbox.repo_url + '/A/B/F'
foo_path = os.path.join(F_path, 'foo')
@@ -2477,8 +2477,8 @@ def merge_dir_replace(sbox):
set_up_dir_replace(sbox)
wc_dir = sbox.wc_dir
- C_path = os.path.join(wc_dir, 'A', 'C')
- F_path = os.path.join(wc_dir, 'A', 'B', 'F')
+ C_path = sbox.ospath('A/C')
+ F_path = sbox.ospath('A/B/F')
F_url = sbox.repo_url + '/A/B/F'
foo_path = os.path.join(F_path, 'foo')
new_file2 = os.path.join(foo_path, "new file 2")
@@ -2591,8 +2591,8 @@ def merge_dir_and_file_replace(sbox):
set_up_dir_replace(sbox)
wc_dir = sbox.wc_dir
- C_path = os.path.join(wc_dir, 'A', 'C')
- F_path = os.path.join(wc_dir, 'A', 'B', 'F')
+ C_path = sbox.ospath('A/C')
+ F_path = sbox.ospath('A/B/F')
F_url = sbox.repo_url + '/A/B/F'
foo_path = os.path.join(F_path, 'foo')
new_file2 = os.path.join(foo_path, "new file 2")
@@ -2708,7 +2708,7 @@ def merge_file_with_space_in_its_name(sb
# For issue #2144
sbox.build()
wc_dir = sbox.wc_dir
- new_file = os.path.join(wc_dir, "new file")
+ new_file = sbox.ospath('new file')
# Make r2.
svntest.main.file_append(new_file, "Initial text in the file.\n")
@@ -2743,7 +2743,7 @@ def merge_dir_branches(sbox):
wc_dir = sbox.wc_dir
wc_uuid = svntest.actions.get_wc_uuid(wc_dir)
- F_path = os.path.join(wc_dir, 'A', 'B', 'F')
+ F_path = sbox.ospath('A/B/F')
F_url = sbox.repo_url + '/A/B/F'
C_url = sbox.repo_url + '/A/C'
@@ -2764,7 +2764,7 @@ def merge_dir_branches(sbox):
None, wc_dir)
# Create an unversioned foo
- foo_path = os.path.join(wc_dir, 'foo')
+ foo_path = sbox.ospath('foo')
os.mkdir(foo_path)
# Merge from C to F onto the wc_dir
@@ -2798,9 +2798,9 @@ def safe_property_merge(sbox):
wc_dir = sbox.wc_dir
# Add a property to two files and a directory, commit as r2.
- alpha_path = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha')
- beta_path = os.path.join(wc_dir, 'A', 'B', 'E', 'beta')
- E_path = os.path.join(wc_dir, 'A', 'B', 'E')
+ alpha_path = sbox.ospath('A/B/E/alpha')
+ beta_path = sbox.ospath('A/B/E/beta')
+ E_path = sbox.ospath('A/B/E')
svntest.actions.run_and_verify_svn(None, None, [],
'propset', 'foo', 'foo_val',
@@ -2852,9 +2852,9 @@ def safe_property_merge(sbox):
svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir)
# Make local propchanges to E, alpha and beta in the branch.
- alpha_path2 = os.path.join(wc_dir, 'A', 'B2', 'E', 'alpha')
- beta_path2 = os.path.join(wc_dir, 'A', 'B2', 'E', 'beta')
- E_path2 = os.path.join(wc_dir, 'A', 'B2', 'E')
+ alpha_path2 = sbox.ospath('A/B2/E/alpha')
+ beta_path2 = sbox.ospath('A/B2/E/beta')
+ E_path2 = sbox.ospath('A/B2/E')
svntest.actions.run_and_verify_svn(None, None, [],
'propset', 'foo', 'branchval',
@@ -2865,7 +2865,7 @@ def safe_property_merge(sbox):
# Now merge the recent B change to the branch. Because we already
# have local propmods, we should get property conflicts.
- B2_path = os.path.join(wc_dir, 'A', 'B2')
+ B2_path = sbox.ospath('A/B2')
expected_output = wc.State(B2_path, {
'E' : Item(status=' C'),
@@ -2929,8 +2929,8 @@ def property_merge_from_branch(sbox):
wc_dir = sbox.wc_dir
# Add a property to a file and a directory, commit as r2.
- alpha_path = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha')
- E_path = os.path.join(wc_dir, 'A', 'B', 'E')
+ alpha_path = sbox.ospath('A/B/E/alpha')
+ E_path = sbox.ospath('A/B/E')
svntest.actions.run_and_verify_svn(None, None, [],
'propset', 'foo', 'foo_val',
@@ -2976,8 +2976,8 @@ def property_merge_from_branch(sbox):
svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir)
# Make different propchanges changes to the B2 branch and commit as r5.
- alpha_path2 = os.path.join(wc_dir, 'A', 'B2', 'E', 'alpha')
- E_path2 = os.path.join(wc_dir, 'A', 'B2', 'E')
+ alpha_path2 = sbox.ospath('A/B2/E/alpha')
+ E_path2 = sbox.ospath('A/B2/E')
svntest.actions.run_and_verify_svn(None, None, [],
'propset', 'foo', 'branchval',
@@ -2996,7 +2996,7 @@ def property_merge_from_branch(sbox):
# Now merge the recent B change to the branch. There are no local
# mods anywhere, but we should still get property conflicts anyway!
- B2_path = os.path.join(wc_dir, 'A', 'B2')
+ B2_path = sbox.ospath('A/B2')
expected_output = wc.State(B2_path, {
'E' : Item(status=' C'),
@@ -3058,7 +3058,7 @@ def property_merge_undo_redo(sbox):
wc_dir = sbox.wc_dir
# Add a property to a file, commit as r2.
- alpha_path = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha')
+ alpha_path = sbox.ospath('A/B/E/alpha')
svntest.actions.run_and_verify_svn(None, None, [],
'propset', 'foo', 'foo_val',
alpha_path)
@@ -3149,11 +3149,11 @@ def cherry_pick_text_conflict(sbox):
sbox.build()
wc_dir = sbox.wc_dir
- A_path = os.path.join(wc_dir, 'A')
+ A_path = sbox.ospath('A')
A_url = sbox.repo_url + '/A'
mu_path = os.path.join(A_path, 'mu')
branch_A_url = sbox.repo_url + '/copy-of-A'
- branch_mu_path = os.path.join(wc_dir, 'copy-of-A', 'mu')
+ branch_mu_path = sbox.ospath('copy-of-A/mu')
# Create a branch of A.
svntest.actions.run_and_verify_svn(None, None, [], 'cp',
@@ -3259,7 +3259,7 @@ def merge_file_replace(sbox):
wc_dir = sbox.wc_dir
# File scheduled for deletion
- rho_path = os.path.join(wc_dir, 'A', 'D', 'G', 'rho')
+ rho_path = sbox.ospath('A/D/G/rho')
svntest.actions.run_and_verify_svn(None, None, [], 'rm', rho_path)
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
@@ -3351,7 +3351,7 @@ def merge_file_replace_to_mixed_rev_wc(s
wc_dir = sbox.wc_dir
# File scheduled for deletion
- rho_path = os.path.join(wc_dir, 'A', 'D', 'G', 'rho')
+ rho_path = sbox.ospath('A/D/G/rho')
svntest.actions.run_and_verify_svn(None, None, [], 'rm', rho_path)
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
@@ -3628,7 +3628,7 @@ def merge_conflict_markers_matching_eol(
wc_dir = sbox.wc_dir
filecount = 1
- mu_path = os.path.join(wc_dir, 'A', 'mu')
+ mu_path = sbox.ospath('A/mu')
if os.name == 'nt':
crlf = '\n'
@@ -3767,7 +3767,7 @@ def merge_eolstyle_handling(sbox):
sbox.build()
wc_dir = sbox.wc_dir
- mu_path = os.path.join(wc_dir, 'A', 'mu')
+ mu_path = sbox.ospath('A/mu')
if os.name == 'nt':
crlf = '\n'
@@ -3981,7 +3981,7 @@ def avoid_repeated_merge_using_inherited
sbox.build()
wc_dir = sbox.wc_dir
- A_path = os.path.join(wc_dir, 'A')
+ A_path = sbox.ospath('A')
A_B_path = os.path.join(A_path, 'B')
A_B_E_path = os.path.join(A_B_path, 'E')
A_B_F_path = os.path.join(A_B_path, 'F')
@@ -4100,7 +4100,7 @@ def avoid_repeated_merge_on_subtree_with
sbox.build()
wc_dir = sbox.wc_dir
- A_path = os.path.join(wc_dir, 'A')
+ A_path = sbox.ospath('A')
A_B_path = os.path.join(A_path, 'B')
A_B_E_path = os.path.join(A_B_path, 'E')
A_B_F_path = os.path.join(A_B_path, 'F')
@@ -4362,9 +4362,9 @@ def obey_reporter_api_semantics_while_do
sbox.build()
wc_dir = sbox.wc_dir
- A_path = os.path.join(wc_dir, 'A')
- A_D_path = os.path.join(wc_dir, 'A', 'D')
- copy_of_A_D_path = os.path.join(wc_dir, 'A', 'copy-of-D')
+ A_path = sbox.ospath('A')
+ A_D_path = sbox.ospath('A/D')
+ copy_of_A_D_path = sbox.ospath('A/copy-of-D')
svntest.main.run_svn(None, "cp", A_D_path, copy_of_A_D_path)
@@ -4587,7 +4587,7 @@ def set_up_branch(sbox, branch_only = Fa
# Make some changes under A which we'll later merge under A_COPY:
# r(nbr_of_branches + 2) - modify and commit A/D/H/psi
- svntest.main.file_write(os.path.join(wc_dir, "A", "D", "H", "psi"),
+ svntest.main.file_write(sbox.ospath('A/D/H/psi'),
"New content")
expected_output = wc.State(wc_dir, {'A/D/H/psi' : Item(verb='Sending')})
expected_status.tweak('A/D/H/psi', wc_rev=nbr_of_branches + 2)
@@ -4596,7 +4596,7 @@ def set_up_branch(sbox, branch_only = Fa
expected_disk.tweak('A/D/H/psi', contents="New content")
# r(nbr_of_branches + 3) - modify and commit A/D/G/rho
- svntest.main.file_write(os.path.join(wc_dir, "A", "D", "G", "rho"),
+ svntest.main.file_write(sbox.ospath('A/D/G/rho'),
"New content")
expected_output = wc.State(wc_dir, {'A/D/G/rho' : Item(verb='Sending')})
expected_status.tweak('A/D/G/rho', wc_rev=nbr_of_branches + 3)
@@ -4605,7 +4605,7 @@ def set_up_branch(sbox, branch_only = Fa
expected_disk.tweak('A/D/G/rho', contents="New content")
# r(nbr_of_branches + 4) - modify and commit A/B/E/beta
- svntest.main.file_write(os.path.join(wc_dir, "A", "B", "E", "beta"),
+ svntest.main.file_write(sbox.ospath('A/B/E/beta'),
"New content")
expected_output = wc.State(wc_dir, {'A/B/E/beta' : Item(verb='Sending')})
expected_status.tweak('A/B/E/beta', wc_rev=nbr_of_branches + 4)
@@ -4614,7 +4614,7 @@ def set_up_branch(sbox, branch_only = Fa
expected_disk.tweak('A/B/E/beta', contents="New content")
# r(nbr_of_branches + 5) - modify and commit A/D/H/omega
- svntest.main.file_write(os.path.join(wc_dir, "A", "D", "H", "omega"),
+ svntest.main.file_write(sbox.ospath('A/D/H/omega'),
"New content")
expected_output = wc.State(wc_dir, {'A/D/H/omega' : Item(verb='Sending')})
expected_status.tweak('A/D/H/omega', wc_rev=nbr_of_branches + 5)
@@ -4650,13 +4650,13 @@ def mergeinfo_inheritance(sbox):
wc_disk, wc_status = set_up_branch(sbox)
# Some paths we'll care about
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- B_COPY_path = os.path.join(wc_dir, "A_COPY", "B")
- beta_COPY_path = os.path.join(wc_dir, "A_COPY", "B", "E", "beta")
- E_COPY_path = os.path.join(wc_dir, "A_COPY", "B", "E")
- omega_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "omega")
- D_COPY_path = os.path.join(wc_dir, "A_COPY", "D")
- G_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "G")
+ A_COPY_path = sbox.ospath('A_COPY')
+ B_COPY_path = sbox.ospath('A_COPY/B')
+ beta_COPY_path = sbox.ospath('A_COPY/B/E/beta')
+ E_COPY_path = sbox.ospath('A_COPY/B/E')
+ omega_COPY_path = sbox.ospath('A_COPY/D/H/omega')
+ D_COPY_path = sbox.ospath('A_COPY/D')
+ G_COPY_path = sbox.ospath('A_COPY/D/G')
# Now start merging...
@@ -4988,9 +4988,9 @@ def mergeinfo_elision(sbox):
wc_disk, wc_status = set_up_branch(sbox)
# Some paths we'll care about
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- beta_COPY_path = os.path.join(wc_dir, "A_COPY", "B", "E", "beta")
- G_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "G")
+ A_COPY_path = sbox.ospath('A_COPY')
+ beta_COPY_path = sbox.ospath('A_COPY/B/E/beta')
+ G_COPY_path = sbox.ospath('A_COPY/D/G')
# Now start merging...
@@ -5242,9 +5242,9 @@ def mergeinfo_inheritance_and_discontinu
# Some paths we'll care about
A_url = sbox.repo_url + '/A'
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- D_COPY_path = os.path.join(wc_dir, "A_COPY", "D")
- A_COPY_rho_path = os.path.join(wc_dir, "A_COPY", "D", "G", "rho")
+ A_COPY_path = sbox.ospath('A_COPY')
+ D_COPY_path = sbox.ospath('A_COPY/D')
+ A_COPY_rho_path = sbox.ospath('A_COPY/D/G/rho')
expected_disk, expected_status = set_up_branch(sbox)
@@ -5355,9 +5355,9 @@ def merge_to_target_with_copied_children
expected_disk, expected_status = set_up_branch(sbox)
# Some paths we'll care about
- D_COPY_path = os.path.join(wc_dir, "A_COPY", "D")
- G_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "G")
- rho_COPY_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "G", "rho_copy")
+ D_COPY_path = sbox.ospath('A_COPY/D')
+ G_COPY_path = sbox.ospath('A_COPY/D/G')
+ rho_COPY_COPY_path = sbox.ospath('A_COPY/D/G/rho_copy')
# URL to URL copy A_COPY/D/G/rho to A_COPY/D/G/rho_copy
svntest.actions.run_and_verify_svn(None, None, [], 'copy',
@@ -5441,11 +5441,11 @@ def merge_to_switched_path(sbox):
wc_disk, wc_status = set_up_branch(sbox)
# Some paths we'll care about
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- A_COPY_D_path = os.path.join(wc_dir, "A_COPY", "D")
- G_COPY_path = os.path.join(wc_dir, "A", "D", "G_COPY")
- A_COPY_D_G_path = os.path.join(wc_dir, "A_COPY", "D", "G")
- A_COPY_D_G_rho_path = os.path.join(wc_dir, "A_COPY", "D", "G", "rho")
+ A_COPY_path = sbox.ospath('A_COPY')
+ A_COPY_D_path = sbox.ospath('A_COPY/D')
+ G_COPY_path = sbox.ospath('A/D/G_COPY')
+ A_COPY_D_G_path = sbox.ospath('A_COPY/D/G')
+ A_COPY_D_G_rho_path = sbox.ospath('A_COPY/D/G/rho')
expected = svntest.verify.UnorderedOutput(
["A " + os.path.join(G_COPY_path, "pi") + "\n",
@@ -5471,7 +5471,7 @@ def merge_to_switched_path(sbox):
None, wc_dir)
# r8 - modify and commit A/D/G_COPY/rho
- svntest.main.file_write(os.path.join(wc_dir, "A", "D", "G_COPY", "rho"),
+ svntest.main.file_write(sbox.ospath('A/D/G_COPY/rho'),
"New *and* improved rho content")
expected_output = wc.State(wc_dir, {'A/D/G_COPY/rho' : Item(verb='Sending')})
wc_status.tweak('A/D/G_COPY/rho', wc_rev=8)
@@ -5634,18 +5634,18 @@ def merge_to_path_with_switched_children
wc_disk, wc_status = set_up_branch(sbox, False, 3)
# Some paths we'll care about
- D_path = os.path.join(wc_dir, "A", "D")
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- A_COPY_beta_path = os.path.join(wc_dir, "A_COPY", "B", "E", "beta")
- A_COPY_chi_path = os.path.join(wc_dir, "A_COPY", "D", "H", "chi")
- A_COPY_omega_path = os.path.join(wc_dir, "A_COPY", "D", "H", "omega")
- A_COPY_psi_path = os.path.join(wc_dir, "A_COPY", "D", "H", "psi")
- A_COPY_G_path = os.path.join(wc_dir, "A_COPY", "D", "G")
- A_COPY_rho_path = os.path.join(wc_dir, "A_COPY", "D", "G", "rho")
- A_COPY_H_path = os.path.join(wc_dir, "A_COPY", "D", "H")
- A_COPY_D_path = os.path.join(wc_dir, "A_COPY", "D")
- A_COPY_gamma_path = os.path.join(wc_dir, "A_COPY", "D", "gamma")
- H_COPY_2_path = os.path.join(wc_dir, "A_COPY_2", "D", "H")
+ D_path = sbox.ospath('A/D')
+ A_COPY_path = sbox.ospath('A_COPY')
+ A_COPY_beta_path = sbox.ospath('A_COPY/B/E/beta')
+ A_COPY_chi_path = sbox.ospath('A_COPY/D/H/chi')
+ A_COPY_omega_path = sbox.ospath('A_COPY/D/H/omega')
+ A_COPY_psi_path = sbox.ospath('A_COPY/D/H/psi')
+ A_COPY_G_path = sbox.ospath('A_COPY/D/G')
+ A_COPY_rho_path = sbox.ospath('A_COPY/D/G/rho')
+ A_COPY_H_path = sbox.ospath('A_COPY/D/H')
+ A_COPY_D_path = sbox.ospath('A_COPY/D')
+ A_COPY_gamma_path = sbox.ospath('A_COPY/D/gamma')
+ H_COPY_2_path = sbox.ospath('A_COPY_2/D/H')
svntest.actions.run_and_verify_svn(None, exp_noop_up_out(8), [], 'up',
wc_dir)
@@ -6129,7 +6129,7 @@ def merge_with_implicit_target_file(sbox
# Make a change to A/mu, then revert it using 'svn merge -r 2:1 A/mu'
# change A/mu and commit
- A_path = os.path.join(wc_dir, 'A')
+ A_path = sbox.ospath('A')
mu_path = os.path.join(A_path, 'mu')
svntest.main.file_append(mu_path, "A whole new line.\n")
@@ -6182,10 +6182,10 @@ def empty_mergeinfo(sbox):
wc_disk, wc_status = set_up_branch(sbox)
# Some paths we'll care about
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- H_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H")
- psi_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "psi")
- rho_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "G", "rho")
+ A_COPY_path = sbox.ospath('A_COPY')
+ H_COPY_path = sbox.ospath('A_COPY/D/H')
+ psi_COPY_path = sbox.ospath('A_COPY/D/H/psi')
+ rho_COPY_path = sbox.ospath('A_COPY/D/G/rho')
# Test area A -- Merge r2:4 into A_COPY then reverse merge 4:2 to
# A_COPY/D/G. A_COPY/D/G should end up with empty mergeinfo to
@@ -6320,9 +6320,9 @@ def prop_add_to_child_with_mergeinfo(sbo
expected_disk, expected_status = set_up_branch(sbox)
# Some paths we'll care about
- beta_path = os.path.join(wc_dir, "A", "B", "E", "beta")
- beta_COPY_path = os.path.join(wc_dir, "A_COPY", "B", "E", "beta")
- B_COPY_path = os.path.join(wc_dir, "A_COPY", "B")
+ beta_path = sbox.ospath('A/B/E/beta')
+ beta_COPY_path = sbox.ospath('A_COPY/B/E/beta')
+ B_COPY_path = sbox.ospath('A_COPY/B')
# Set a non-mergeinfo prop on a file.
svntest.actions.run_and_verify_svn(None,
@@ -6411,7 +6411,7 @@ def foreign_repos_does_not_update_mergei
# Merge r3:4 (using implied peg revisions) from 'other' repos into
# A_COPY/D/G. Merge should succeed, but no mergeinfo should be set.
- G_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "G")
+ G_COPY_path = sbox.ospath('A_COPY/D/G')
svntest.actions.run_and_verify_svn(None,
expected_merge_output([[4]],
'U ' +
@@ -6423,7 +6423,7 @@ def foreign_repos_does_not_update_mergei
# Merge r4:5 (using explicit peg revisions) from 'other' repos into
# A_COPY/B/E. Merge should succeed, but no mergeinfo should be set.
- E_COPY_path = os.path.join(wc_dir, "A_COPY", "B", "E")
+ E_COPY_path = sbox.ospath('A_COPY/B/E')
svntest.actions.run_and_verify_svn(None,
expected_merge_output([[5]],
'U ' +
@@ -6492,7 +6492,7 @@ def foreign_repos_does_not_update_mergei
svntest.actions.run_and_verify_svn(None, None, [], 'merge',
other_repo_url + '/A@1',
other_repo_url + '/A_COPY@7',
- os.path.join(wc_dir, 'A_COPY'))
+ sbox.ospath('A_COPY'))
#...which means there should be no mergeinfo anywhere in WC_DIR, since
# this test never created any.
svntest.actions.run_and_verify_svn(None, [], [], 'pg',
@@ -6514,10 +6514,10 @@ def avoid_reflected_revs(sbox):
wc_disk, wc_status = set_up_branch(sbox, True, 1)
# Some paths we'll care about
- A_path = os.path.join(wc_dir, 'A')
- A_COPY_path = os.path.join(wc_dir, 'A_COPY')
- tfile1_path = os.path.join(wc_dir, 'A', 'tfile1')
- tfile2_path = os.path.join(wc_dir, 'A', 'tfile2')
+ A_path = sbox.ospath('A')
+ A_COPY_path = sbox.ospath('A_COPY')
+ tfile1_path = sbox.ospath('A/tfile1')
+ tfile2_path = sbox.ospath('A/tfile2')
bfile1_path = os.path.join(A_COPY_path, 'bfile1')
bfile2_path = os.path.join(A_COPY_path, 'bfile2')
@@ -6772,7 +6772,7 @@ def update_loses_mergeinfo(sbox):
sbox.build()
wc_dir = sbox.wc_dir
- A_C_wc_dir = os.path.join(wc_dir, 'A', 'C')
+ A_C_wc_dir = sbox.ospath('A/C')
A_B_url = sbox.repo_url + '/A/B'
A_B_J_url = sbox.repo_url + '/A/B/J'
A_B_K_url = sbox.repo_url + '/A/B/K'
@@ -6892,7 +6892,7 @@ def merge_loses_mergeinfo(sbox):
sbox.build()
wc_dir = sbox.wc_dir
- A_C_wc_dir = os.path.join(wc_dir, 'A', 'C')
+ A_C_wc_dir = sbox.ospath('A/C')
A_B_url = sbox.repo_url + '/A/B'
A_B_J_url = sbox.repo_url + '/A/B/J'
A_B_K_url = sbox.repo_url + '/A/B/K'
@@ -7005,8 +7005,8 @@ def single_file_replace_style_merge_capa
sbox.build()
wc_dir = sbox.wc_dir
- iota_path = os.path.join(wc_dir, 'iota')
- mu_path = os.path.join(wc_dir, 'A', 'mu')
+ iota_path = sbox.ospath('iota')
+ mu_path = sbox.ospath('A/mu')
# delete mu and replace it with a copy of iota
svntest.main.run_svn(None, 'rm', mu_path)
@@ -7052,7 +7052,7 @@ def merge_to_out_of_date_target(sbox):
svntest.actions.duplicate_dir(wc_dir, other_wc)
# Some paths we'll care about
- A_COPY_H_path = os.path.join(wc_dir, "A_COPY", "D", "H")
+ A_COPY_H_path = sbox.ospath('A_COPY/D/H')
other_A_COPY_H_path = os.path.join(other_wc, "A_COPY", "D", "H")
# Merge -c3 into A_COPY/D/H of first WC.
@@ -7161,10 +7161,10 @@ def merge_with_depth_files(sbox):
wc_dir = sbox.wc_dir
# Some paths we'll care about
- mu_path = os.path.join(wc_dir, 'A', 'mu')
- gamma_path = os.path.join(wc_dir, 'A', 'D', 'gamma')
- Acopy_path = os.path.join(wc_dir, 'A_copy')
- Acopy_mu_path = os.path.join(wc_dir, 'A_copy', 'mu')
+ mu_path = sbox.ospath('A/mu')
+ gamma_path = sbox.ospath('A/D/gamma')
+ Acopy_path = sbox.ospath('A_copy')
+ Acopy_mu_path = sbox.ospath('A_copy/mu')
A_url = sbox.repo_url + '/A'
Acopy_url = sbox.repo_url + '/A_copy'
@@ -7290,16 +7290,16 @@ def merge_away_subtrees_noninheritable_r
wc_disk, wc_status = set_up_branch(sbox, nbr_of_branches=2)
# Some paths we'll care about
- H_path = os.path.join(wc_dir, "A", "D", "H")
- D_COPY_path = os.path.join(wc_dir, "A_COPY", "D")
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- nu_path = os.path.join(wc_dir, "A", "nu")
- mu_path = os.path.join(wc_dir, "A", "mu")
- mu_2_path = os.path.join(wc_dir, "A_COPY_2", "mu")
- D_COPY_2_path = os.path.join(wc_dir, "A_COPY_2", "D")
- H_COPY_2_path = os.path.join(wc_dir, "A_COPY_2", "D", "H")
- mu_COPY_path = os.path.join(wc_dir, "A_COPY", "mu")
- nu_COPY_path = os.path.join(wc_dir, "A_COPY", "nu")
+ H_path = sbox.ospath('A/D/H')
+ D_COPY_path = sbox.ospath('A_COPY/D')
+ A_COPY_path = sbox.ospath('A_COPY')
+ nu_path = sbox.ospath('A/nu')
+ mu_path = sbox.ospath('A/mu')
+ mu_2_path = sbox.ospath('A_COPY_2/mu')
+ D_COPY_2_path = sbox.ospath('A_COPY_2/D')
+ H_COPY_2_path = sbox.ospath('A_COPY_2/D/H')
+ mu_COPY_path = sbox.ospath('A_COPY/mu')
+ nu_COPY_path = sbox.ospath('A_COPY/nu')
# Make a change to directory A/D/H and commit as r8.
svntest.actions.run_and_verify_svn(None, exp_noop_up_out(7), [],
@@ -7725,16 +7725,16 @@ def merge_to_sparse_directories(sbox):
wc_disk, wc_status = set_up_branch(sbox, False, 1)
# Some paths we'll care about
- A_path = os.path.join(wc_dir, "A")
- D_path = os.path.join(wc_dir, "A", "D")
- I_path = os.path.join(wc_dir, "A", "C", "I")
- G_path = os.path.join(wc_dir, "A", "D", "G")
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
+ A_path = sbox.ospath('A')
+ D_path = sbox.ospath('A/D')
+ I_path = sbox.ospath('A/C/I')
+ G_path = sbox.ospath('A/D/G')
+ A_COPY_path = sbox.ospath('A_COPY')
# Make a few more changes to the merge source...
# r7 - modify and commit A/mu
- svntest.main.file_write(os.path.join(wc_dir, "A", "mu"),
+ svntest.main.file_write(sbox.ospath('A/mu'),
"New content")
expected_output = wc.State(wc_dir, {'A/mu' : Item(verb='Sending')})
wc_status.tweak('A/mu', wc_rev=7)
@@ -8019,9 +8019,9 @@ def merge_old_and_new_revs_from_renamed_
# Some paths we'll care about
A_url = sbox.repo_url + '/A'
A_MOVED_url = sbox.repo_url + '/A_MOVED'
- A_COPY_path = os.path.join(wc_dir, 'A_COPY')
- mu_path = os.path.join(wc_dir, 'A', 'mu')
- A_MOVED_mu_path = os.path.join(wc_dir, 'A_MOVED', 'mu')
+ A_COPY_path = sbox.ospath('A_COPY')
+ mu_path = sbox.ospath('A/mu')
+ A_MOVED_mu_path = sbox.ospath('A_MOVED/mu')
# Make a modification to A/mu
svntest.main.file_write(mu_path, "This is the file 'mu' modified.\n")
@@ -8184,13 +8184,13 @@ def merge_with_child_having_different_re
# Create a WC
sbox.build()
wc_dir = sbox.wc_dir
- A_path = os.path.join(wc_dir, 'A')
- mu_path = os.path.join(wc_dir, 'A', 'mu')
+ A_path = sbox.ospath('A')
+ mu_path = sbox.ospath('A/mu')
A_url = sbox.repo_url + '/A'
A_mu_url = sbox.repo_url + '/A/mu'
A_COPY_url = sbox.repo_url + '/A_COPY'
- A_COPY_path = os.path.join(wc_dir, 'A_COPY')
- A_COPY_mu_path = os.path.join(wc_dir, 'A_COPY', 'mu')
+ A_COPY_path = sbox.ospath('A_COPY')
+ A_COPY_mu_path = sbox.ospath('A_COPY/mu')
thirty_line_dummy_text = 'line1\n'
for i in range(2, 31):
thirty_line_dummy_text += 'line' + str(i) + '\n'
@@ -8434,9 +8434,9 @@ def merge_old_and_new_revs_from_renamed_
mu_url = sbox.repo_url + '/A/mu'
mu_MOVED_url = sbox.repo_url + '/A/mu_MOVED'
mu_COPY_url = sbox.repo_url + '/A/mu_COPY'
- mu_COPY_path = os.path.join(wc_dir, 'A', 'mu_COPY')
- mu_path = os.path.join(wc_dir, 'A', 'mu')
- mu_MOVED_path = os.path.join(wc_dir, 'A', 'mu_MOVED')
+ mu_COPY_path = sbox.ospath('A/mu_COPY')
+ mu_path = sbox.ospath('A/mu')
+ mu_MOVED_path = sbox.ospath('A/mu_MOVED')
# Copy mu to mu_COPY
svntest.actions.run_and_verify_svn(None, ['\n', 'Committed revision 2.\n'],
@@ -8502,9 +8502,9 @@ def merge_with_auto_rev_range_detection(
# Some paths we'll care about
A_url = sbox.repo_url + '/A'
A_COPY_url = sbox.repo_url + '/A_COPY'
- B1_path = os.path.join(wc_dir, 'A', 'B1')
- B1_mu_path = os.path.join(wc_dir, 'A', 'B1', 'mu')
- A_COPY_path = os.path.join(wc_dir, 'A_COPY')
+ B1_path = sbox.ospath('A/B1')
+ B1_mu_path = sbox.ospath('A/B1/mu')
+ A_COPY_path = sbox.ospath('A_COPY')
# Create B1 inside A
svntest.actions.run_and_verify_svn(None, ["A " + B1_path + "\n"],
@@ -8628,15 +8628,15 @@ def cherry_picking(sbox):
wc_disk, wc_status = set_up_branch(sbox)
# Some paths we'll care about
- H_path = os.path.join(wc_dir, "A", "D", "H")
- G_path = os.path.join(wc_dir, "A", "D", "G")
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- D_COPY_path = os.path.join(wc_dir, "A_COPY", "D")
- G_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "G")
- H_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H")
- rho_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "G", "rho")
- omega_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "omega")
- psi_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "psi")
+ H_path = sbox.ospath('A/D/H')
+ G_path = sbox.ospath('A/D/G')
+ A_COPY_path = sbox.ospath('A_COPY')
+ D_COPY_path = sbox.ospath('A_COPY/D')
+ G_COPY_path = sbox.ospath('A_COPY/D/G')
+ H_COPY_path = sbox.ospath('A_COPY/D/H')
+ rho_COPY_path = sbox.ospath('A_COPY/D/G/rho')
+ omega_COPY_path = sbox.ospath('A_COPY/D/H/omega')
+ psi_COPY_path = sbox.ospath('A_COPY/D/H/psi')
# Update working copy
expected_output = svntest.wc.State(wc_dir, {})
@@ -8815,11 +8815,11 @@ def propchange_of_subdir_raises_conflict
# Some paths we'll care about
B_url = sbox.repo_url + '/A/B'
- E_path = os.path.join(wc_dir, 'A', 'B', 'E')
- lambda_path = os.path.join(wc_dir, 'A', 'B', 'lambda')
- A_COPY_B_path = os.path.join(wc_dir, 'A_COPY', 'B')
- A_COPY_B_E_path = os.path.join(wc_dir, 'A_COPY', 'B', 'E')
- A_COPY_lambda_path = os.path.join(wc_dir, 'A_COPY', 'B', 'E', 'lambda')
+ E_path = sbox.ospath('A/B/E')
+ lambda_path = sbox.ospath('A/B/lambda')
+ A_COPY_B_path = sbox.ospath('A_COPY/B')
+ A_COPY_B_E_path = sbox.ospath('A_COPY/B/E')
+ A_COPY_lambda_path = sbox.ospath('A_COPY/B/E/lambda')
# Set a property on A/B/E and Make a modification to A/B/lambda
svntest.main.run_svn(None, 'propset', 'x', 'x', E_path)
@@ -8929,9 +8929,9 @@ def reverse_merge_prop_add_on_child(sbox
wc_disk, wc_status = set_up_branch(sbox, True, 1)
# Some paths we'll care about
- G_path = os.path.join(wc_dir, "A", "D", "G")
- D_COPY_path = os.path.join(wc_dir, "A_COPY", "D")
- G_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "G")
+ G_path = sbox.ospath('A/D/G')
+ D_COPY_path = sbox.ospath('A_COPY/D')
+ G_COPY_path = sbox.ospath('A_COPY/D/G')
# Make some prop changes to some dirs.
svntest.actions.run_and_verify_svn(None,
@@ -9041,9 +9041,9 @@ def merge_target_with_non_inheritable_me
# Some paths we'll care about
B_url = sbox.repo_url + '/A/B'
- lambda_path = os.path.join(wc_dir, 'A', 'B', 'lambda')
- newfile_path = os.path.join(wc_dir, 'A', 'B', 'E', 'newfile')
- A_COPY_B_path = os.path.join(wc_dir, 'A_COPY', 'B')
+ lambda_path = sbox.ospath('A/B/lambda')
+ newfile_path = sbox.ospath('A/B/E/newfile')
+ A_COPY_B_path = sbox.ospath('A_COPY/B')
# Make a modifications to A/B/lambda and add A/B/E/newfile
svntest.main.file_write(lambda_path, "This is the file 'lambda' modified.\n")
@@ -9153,7 +9153,7 @@ def self_reverse_merge(sbox):
wc_dir = sbox.wc_dir
# Make changes to the working copy
- mu_path = os.path.join(wc_dir, 'A', 'mu')
+ mu_path = sbox.ospath('A/mu')
svntest.main.file_append(mu_path, 'appended mu text')
# Created expected output tree for 'svn ci'
@@ -9233,9 +9233,9 @@ def ignore_ancestry_and_mergeinfo(sbox):
# Some paths we'll care about
A_B_url = sbox.repo_url + '/A/B'
- A_COPY_B_path = os.path.join(wc_dir, 'A_COPY', 'B')
- lambda_path = os.path.join(wc_dir, 'A', 'B', 'lambda')
- A_COPY_lambda_path = os.path.join(wc_dir, 'A_COPY', 'B', 'lambda')
+ A_COPY_B_path = sbox.ospath('A_COPY/B')
+ lambda_path = sbox.ospath('A/B/lambda')
+ A_COPY_lambda_path = sbox.ospath('A_COPY/B/lambda')
# Make modifications to A/B/lambda
svntest.main.file_write(lambda_path, "This is the file 'lambda' modified.\n")
@@ -9349,9 +9349,9 @@ def merge_from_renamed_branch_fails_whil
A_C_url = sbox.repo_url + '/A/C'
A_COPY_C_url = sbox.repo_url + '/A/COPY_C'
A_RENAMED_C_url = sbox.repo_url + '/A/RENAMED_C'
- A_C_path = os.path.join(wc_dir, 'A', 'C')
- A_RENAMED_C_path = os.path.join(wc_dir, 'A', 'RENAMED_C')
- A_RENAMED_C_file1_path = os.path.join(wc_dir, 'A', 'RENAMED_C', 'file1')
+ A_C_path = sbox.ospath('A/C')
+ A_RENAMED_C_path = sbox.ospath('A/RENAMED_C')
+ A_RENAMED_C_file1_path = sbox.ospath('A/RENAMED_C/file1')
svntest.main.run_svn(None, 'cp', A_C_url, A_COPY_C_url, '-m', 'copy...')
svntest.main.run_svn(None, 'mv', A_COPY_C_url, A_RENAMED_C_url, '-m',
@@ -9443,8 +9443,8 @@ def merge_source_normalization_and_subtr
wc_dir = sbox.wc_dir
# Some paths we'll care about
- D_COPY_path = os.path.join(wc_dir, "A_COPY", "D")
- G_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "G")
+ D_COPY_path = sbox.ospath('A_COPY/D')
+ G_COPY_path = sbox.ospath('A_COPY/D/G')
# Use our helper to copy 'A' to 'A_COPY' then make some changes under 'A'
wc_disk, wc_status = set_up_branch(sbox)
@@ -9486,7 +9486,7 @@ def merge_source_normalization_and_subtr
'update', wc_dir)
# r8 - Make a text mod to 'A_MOVED/D/G/tau'
- svntest.main.file_write(os.path.join(wc_dir, "A_MOVED", "D", "G", "tau"),
+ svntest.main.file_write(sbox.ospath('A_MOVED/D/G/tau'),
"New content")
expected_output = wc.State(wc_dir,
{'A_MOVED/D/G/tau' : Item(verb='Sending')})
@@ -9598,12 +9598,12 @@ def new_subtrees_should_not_break_merge(
wc_disk, wc_status = set_up_branch(sbox)
# Some paths we'll care about
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- D_COPY_path = os.path.join(wc_dir, "A_COPY", "D")
- nu_path = os.path.join(wc_dir, "A", "D", "H", "nu")
- nu_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "nu")
- rho_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "G", "rho")
- H_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H")
+ A_COPY_path = sbox.ospath('A_COPY')
+ D_COPY_path = sbox.ospath('A_COPY/D')
+ nu_path = sbox.ospath('A/D/H/nu')
+ nu_COPY_path = sbox.ospath('A_COPY/D/H/nu')
+ rho_COPY_path = sbox.ospath('A_COPY/D/G/rho')
+ H_COPY_path = sbox.ospath('A_COPY/D/H')
# Create 'A/D/H/nu', commit it as r7, make a text mod to it in r8.
svntest.main.file_write(nu_path, "This is the file 'nu'.\n")
@@ -10030,12 +10030,12 @@ def dont_add_mergeinfo_from_own_history(
wc_disk, wc_status = set_up_branch(sbox)
# Some paths we'll care about
- A_path = os.path.join(wc_dir, "A")
- A_MOVED_path = os.path.join(wc_dir, "A_MOVED")
- mu_path = os.path.join(wc_dir, "A", "mu")
- mu_MOVED_path = os.path.join(wc_dir, "A_MOVED", "mu")
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- mu_COPY_path = os.path.join(wc_dir, "A_COPY", "mu")
+ A_path = sbox.ospath('A')
+ A_MOVED_path = sbox.ospath('A_MOVED')
+ mu_path = sbox.ospath('A/mu')
+ mu_MOVED_path = sbox.ospath('A_MOVED/mu')
+ A_COPY_path = sbox.ospath('A_COPY')
+ mu_COPY_path = sbox.ospath('A_COPY/mu')
# Merge r3 from 'A' to 'A_COPY', make a text mod to 'A_COPY/mu' and
# commit both as r7. This results in mergeinfo of '/A:3' on 'A_COPY'.
@@ -10338,50 +10338,50 @@ def dont_add_mergeinfo_from_own_history(
#
# Create the new 'A' by exporting the old 'A@1'.
expected_output = svntest.verify.UnorderedOutput(
- ["A " + os.path.join(wc_dir, "A") + "\n",
- "A " + os.path.join(wc_dir, "A", "B") + "\n",
- "A " + os.path.join(wc_dir, "A", "B", "lambda") + "\n",
- "A " + os.path.join(wc_dir, "A", "B", "E") + "\n",
- "A " + os.path.join(wc_dir, "A", "B", "E", "alpha") + "\n",
- "A " + os.path.join(wc_dir, "A", "B", "E", "beta") + "\n",
- "A " + os.path.join(wc_dir, "A", "B", "F") + "\n",
- "A " + os.path.join(wc_dir, "A", "mu") + "\n",
- "A " + os.path.join(wc_dir, "A", "C") + "\n",
- "A " + os.path.join(wc_dir, "A", "D") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "gamma") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "G") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "G", "pi") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "G", "rho") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "G", "tau") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "H") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "H", "chi") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "H", "omega") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "H", "psi") + "\n",
+ ["A " + sbox.ospath('A') + "\n",
+ "A " + sbox.ospath('A/B') + "\n",
+ "A " + sbox.ospath('A/B/lambda') + "\n",
+ "A " + sbox.ospath('A/B/E') + "\n",
+ "A " + sbox.ospath('A/B/E/alpha') + "\n",
+ "A " + sbox.ospath('A/B/E/beta') + "\n",
+ "A " + sbox.ospath('A/B/F') + "\n",
+ "A " + sbox.ospath('A/mu') + "\n",
+ "A " + sbox.ospath('A/C') + "\n",
+ "A " + sbox.ospath('A/D') + "\n",
+ "A " + sbox.ospath('A/D/gamma') + "\n",
+ "A " + sbox.ospath('A/D/G') + "\n",
+ "A " + sbox.ospath('A/D/G/pi') + "\n",
+ "A " + sbox.ospath('A/D/G/rho') + "\n",
+ "A " + sbox.ospath('A/D/G/tau') + "\n",
+ "A " + sbox.ospath('A/D/H') + "\n",
+ "A " + sbox.ospath('A/D/H/chi') + "\n",
+ "A " + sbox.ospath('A/D/H/omega') + "\n",
+ "A " + sbox.ospath('A/D/H/psi') + "\n",
"Exported revision 1.\n",]
)
svntest.actions.run_and_verify_svn(None, expected_output, [],
'export', sbox.repo_url + '/A@1',
A_path)
expected_output = svntest.verify.UnorderedOutput(
- ["A " + os.path.join(wc_dir, "A") + "\n",
- "A " + os.path.join(wc_dir, "A", "B") + "\n",
- "A " + os.path.join(wc_dir, "A", "B", "lambda") + "\n",
- "A " + os.path.join(wc_dir, "A", "B", "E") + "\n",
- "A " + os.path.join(wc_dir, "A", "B", "E", "alpha") + "\n",
- "A " + os.path.join(wc_dir, "A", "B", "E", "beta") + "\n",
- "A " + os.path.join(wc_dir, "A", "B", "F") + "\n",
- "A " + os.path.join(wc_dir, "A", "mu") + "\n",
- "A " + os.path.join(wc_dir, "A", "C") + "\n",
- "A " + os.path.join(wc_dir, "A", "D") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "gamma") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "G") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "G", "pi") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "G", "rho") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "G", "tau") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "H") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "H", "chi") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "H", "omega") + "\n",
- "A " + os.path.join(wc_dir, "A", "D", "H", "psi") + "\n",]
+ ["A " + sbox.ospath('A') + "\n",
+ "A " + sbox.ospath('A/B') + "\n",
+ "A " + sbox.ospath('A/B/lambda') + "\n",
+ "A " + sbox.ospath('A/B/E') + "\n",
+ "A " + sbox.ospath('A/B/E/alpha') + "\n",
+ "A " + sbox.ospath('A/B/E/beta') + "\n",
+ "A " + sbox.ospath('A/B/F') + "\n",
+ "A " + sbox.ospath('A/mu') + "\n",
+ "A " + sbox.ospath('A/C') + "\n",
+ "A " + sbox.ospath('A/D') + "\n",
+ "A " + sbox.ospath('A/D/gamma') + "\n",
+ "A " + sbox.ospath('A/D/G') + "\n",
+ "A " + sbox.ospath('A/D/G/pi') + "\n",
+ "A " + sbox.ospath('A/D/G/rho') + "\n",
+ "A " + sbox.ospath('A/D/G/tau') + "\n",
+ "A " + sbox.ospath('A/D/H') + "\n",
+ "A " + sbox.ospath('A/D/H/chi') + "\n",
+ "A " + sbox.ospath('A/D/H/omega') + "\n",
+ "A " + sbox.ospath('A/D/H/psi') + "\n",]
)
svntest.actions.run_and_verify_svn(None, expected_output, [],
'add', A_path)
@@ -10508,12 +10508,12 @@ def merge_range_predates_history(sbox):
sbox.build()
wc_dir = sbox.wc_dir
- iota_path = os.path.join(wc_dir, "iota")
- trunk_file_path = os.path.join(wc_dir, "trunk", "file")
+ iota_path = sbox.ospath('iota')
+ trunk_file_path = sbox.ospath('trunk/file')
trunk_url = sbox.repo_url + "/trunk"
branches_url = sbox.repo_url + "/branches"
- branch_path = os.path.join(wc_dir, "branches", "branch")
- branch_file_path = os.path.join(wc_dir, "branches", "branch", "file")
+ branch_path = sbox.ospath('branches/branch')
+ branch_file_path = sbox.ospath('branches/branch/file')
branch_url = sbox.repo_url + "/branches/branch"
# Tweak a file and commit. (r2)
@@ -10559,15 +10559,15 @@ def foreign_repos(sbox):
wc_dir2 = sbox2.wc_dir
# Convenience variables for working copy paths.
- Z_path = os.path.join(wc_dir, 'A', 'D', 'G', 'Z')
- B_path = os.path.join(wc_dir, 'A', 'B')
- Q_path = os.path.join(wc_dir, 'Q')
- H_path = os.path.join(wc_dir, 'A', 'D', 'H')
- iota_path = os.path.join(wc_dir, 'iota')
- beta_path = os.path.join(wc_dir, 'A', 'B', 'E', 'beta')
- alpha_path = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha')
- zeta_path = os.path.join(wc_dir, 'A', 'D', 'G', 'Z', 'zeta')
- fred_path = os.path.join(wc_dir, 'A', 'C', 'fred')
+ Z_path = sbox.ospath('A/D/G/Z')
+ B_path = sbox.ospath('A/B')
+ Q_path = sbox.ospath('Q')
+ H_path = sbox.ospath('A/D/H')
+ iota_path = sbox.ospath('iota')
+ beta_path = sbox.ospath('A/B/E/beta')
+ alpha_path = sbox.ospath('A/B/E/alpha')
+ zeta_path = sbox.ospath('A/D/G/Z/zeta')
+ fred_path = sbox.ospath('A/C/fred')
# Add new directories, with and without properties.
svntest.main.run_svn(None, 'mkdir', Q_path, Z_path)
@@ -10672,8 +10672,8 @@ def foreign_repos_uuid(sbox):
wc2_uuid = svntest.actions.get_wc_uuid(wc_dir2)
# Convenience variables for working copy paths.
- zeta_path = os.path.join(wc_dir, 'A', 'D', 'G', 'zeta')
- Z_path = os.path.join(wc_dir, 'A', 'Z')
+ zeta_path = sbox.ospath('A/D/G/zeta')
+ Z_path = sbox.ospath('A/Z')
# Add new file and directory.
zeta_contents = "This is the file 'zeta'.\n"
@@ -10745,13 +10745,13 @@ def foreign_repos_2_url(sbox):
wc_dir2 = sbox2.wc_dir
# Convenience variables for working copy paths.
- Z_path = os.path.join(wc_dir, 'A', 'D', 'G', 'Z')
- Q_path = os.path.join(wc_dir, 'A', 'Q')
- H_path = os.path.join(wc_dir, 'A', 'D', 'H')
- beta_path = os.path.join(wc_dir, 'A', 'B', 'E', 'beta')
- alpha_path = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha')
- zeta_path = os.path.join(wc_dir, 'A', 'D', 'G', 'Z', 'zeta')
- fred_path = os.path.join(wc_dir, 'A', 'C', 'fred')
+ Z_path = sbox.ospath('A/D/G/Z')
+ Q_path = sbox.ospath('A/Q')
+ H_path = sbox.ospath('A/D/H')
+ beta_path = sbox.ospath('A/B/E/beta')
+ alpha_path = sbox.ospath('A/B/E/alpha')
+ zeta_path = sbox.ospath('A/D/G/Z/zeta')
+ fred_path = sbox.ospath('A/C/fred')
# First, "tag" the current state of the repository.
svntest.main.run_svn(None, 'copy', sbox.repo_url + '/A',
@@ -10847,7 +10847,7 @@ def merge_added_subtree(sbox):
# svn cp A A_COPY
A_url = url + "/A"
A_COPY_url = url + "/A_COPY"
- A_path = os.path.join(wc_dir, "A")
+ A_path = sbox.ospath('A')
svntest.actions.run_and_verify_svn("",["\n", "Committed revision 2.\n"], [],
"cp", "-m", "", A_url, A_COPY_url)
@@ -10939,7 +10939,7 @@ def merge_unknown_url(sbox):
wc_dir = sbox.wc_dir
# remove a path from the repo and commit.
- iota_path = os.path.join(wc_dir, 'iota')
+ iota_path = sbox.ospath('iota')
svntest.actions.run_and_verify_svn(None, None, [], 'rm', iota_path)
svntest.actions.run_and_verify_svn("", None, [],
"ci", wc_dir, "-m", "log message")
@@ -10960,7 +10960,7 @@ def reverse_merge_away_all_mergeinfo(sbo
wc_disk, wc_status = set_up_branch(sbox)
# Some paths we'll care about
- A_COPY_H_path = os.path.join(wc_dir, "A_COPY", "D", "H")
+ A_COPY_H_path = sbox.ospath('A_COPY/D/H')
# Merge r4:8 from A/D/H into A_COPY/D/H.
expected_output = wc.State(A_COPY_H_path, {
@@ -11059,10 +11059,10 @@ def dont_merge_revs_into_subtree_that_pr
wc_dir = sbox.wc_dir
# Some paths we'll care about
- psi_path = os.path.join(wc_dir, "A", "D", "H", "psi")
- nu_path = os.path.join(wc_dir, "A", "D", "H", "nu")
- H_COPY_path = os.path.join(wc_dir, "H_COPY")
- nu_COPY_path = os.path.join(wc_dir, "H_COPY", "nu")
+ psi_path = sbox.ospath('A/D/H/psi')
+ nu_path = sbox.ospath('A/D/H/nu')
+ H_COPY_path = sbox.ospath('H_COPY')
+ nu_COPY_path = sbox.ospath('H_COPY/nu')
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
expected_disk = svntest.main.greek_state.copy()
@@ -11205,11 +11205,11 @@ def set_up_renamed_subtree(sbox):
wc_dir = sbox.wc_dir
# Some paths we'll care about
- psi_path = os.path.join(wc_dir, "A", "D", "H", "psi")
- omega_path = os.path.join(wc_dir, "A", "D", "H", "omega")
- psi_moved_path = os.path.join(wc_dir, "A", "D", "H", "psi_moved")
- psi_COPY_moved_path = os.path.join(wc_dir, "H_COPY", "psi_moved")
- H_COPY_path = os.path.join(wc_dir, "H_COPY")
+ psi_path = sbox.ospath('A/D/H/psi')
+ omega_path = sbox.ospath('A/D/H/omega')
+ psi_moved_path = sbox.ospath('A/D/H/psi_moved')
+ psi_COPY_moved_path = sbox.ospath('H_COPY/psi_moved')
+ H_COPY_path = sbox.ospath('H_COPY')
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
expected_disk = svntest.main.greek_state.copy()
@@ -11298,7 +11298,7 @@ def merge_chokes_on_renamed_subtrees(sbo
wc_dir, expected_disk, expected_status = set_up_renamed_subtree(sbox)
# Some paths we'll care about
- psi_COPY_moved_path = os.path.join(wc_dir, "H_COPY", "psi_moved")
+ psi_COPY_moved_path = sbox.ospath('H_COPY/psi_moved')
# Cherry harvest all available revsions from 'A/D/H/psi_moved' to
@@ -11330,13 +11330,13 @@ def dont_explicitly_record_implicit_merg
sbox.build()
wc_dir = sbox.wc_dir
- A_path = os.path.join(sbox.wc_dir, 'A')
- A_copy_path = os.path.join(sbox.wc_dir, 'A_copy')
- A_copy2_path = os.path.join(sbox.wc_dir, 'A_copy2')
- A_copy_mu_path = os.path.join(sbox.wc_dir, 'A_copy', 'mu')
- A_copy2_mu_path = os.path.join(sbox.wc_dir, 'A_copy2', 'mu')
- nu_path = os.path.join(sbox.wc_dir, 'A', 'D', 'H', 'nu')
- nu_copy_path = os.path.join(sbox.wc_dir, 'A_copy', 'D', 'H', 'nu')
+ A_path = sbox.ospath('A')
+ A_copy_path = sbox.ospath('A_copy')
+ A_copy2_path = sbox.ospath('A_copy2')
+ A_copy_mu_path = sbox.ospath('A_copy/mu')
+ A_copy2_mu_path = sbox.ospath('A_copy2/mu')
+ nu_path = sbox.ospath('A/D/H/nu')
+ nu_copy_path = sbox.ospath('A_copy/D/H/nu')
def _commit_and_update(rev, action):
svntest.actions.run_and_verify_svn(None, None, [],
@@ -11681,8 +11681,8 @@ def merge_broken_link(sbox):
# Create our good 'ole greek tree.
sbox.build()
wc_dir = sbox.wc_dir
- src_path = os.path.join(wc_dir, 'A', 'B', 'E')
- copy_path = os.path.join(wc_dir, 'A', 'B', 'E_COPY')
+ src_path = sbox.ospath('A/B/E')
+ copy_path = sbox.ospath('A/B/E_COPY')
link_path = os.path.join(src_path, 'beta_link')
os.symlink('beta_broken', link_path)
@@ -11716,16 +11716,16 @@ def subtree_merges_dont_intersect_with_t
wc_disk, wc_status = set_up_branch(sbox, False, 2)
# Some paths we'll care about.
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- A_COPY_2_path = os.path.join(wc_dir, "A_COPY_2")
- H_COPY_2_path = os.path.join(wc_dir, "A_COPY_2", "D", "H")
- gamma_path = os.path.join(wc_dir, "A", "D", "gamma")
- psi_path = os.path.join(wc_dir, "A", "D", "H", "psi")
- psi_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "psi")
- gamma_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "gamma")
- psi_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "psi")
- psi_COPY_2_path = os.path.join(wc_dir, "A_COPY_2", "D", "H", "psi")
- rho_COPY_2_path = os.path.join(wc_dir, "A_COPY_2", "D", "G", "rho")
+ A_COPY_path = sbox.ospath('A_COPY')
+ A_COPY_2_path = sbox.ospath('A_COPY_2')
+ H_COPY_2_path = sbox.ospath('A_COPY_2/D/H')
+ gamma_path = sbox.ospath('A/D/gamma')
+ psi_path = sbox.ospath('A/D/H/psi')
+ psi_COPY_path = sbox.ospath('A_COPY/D/H/psi')
+ gamma_COPY_path = sbox.ospath('A_COPY/D/gamma')
+ psi_COPY_path = sbox.ospath('A_COPY/D/H/psi')
+ psi_COPY_2_path = sbox.ospath('A_COPY_2/D/H/psi')
+ rho_COPY_2_path = sbox.ospath('A_COPY_2/D/G/rho')
# Make a tweak to A/D/gamma and A/D/H/psi in r8.
svntest.main.file_write(gamma_path, "New content")
@@ -12032,11 +12032,11 @@ def subtree_source_missing_in_requested_
wc_disk, wc_status = set_up_branch(sbox, False, 1)
# Some paths we'll care about.
- psi_path = os.path.join(wc_dir, "A", "D", "H", "psi")
- omega_path = os.path.join(wc_dir, "A", "D", "H", "omega")
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- psi_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "psi")
- omega_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "omega")
+ psi_path = sbox.ospath('A/D/H/psi')
+ omega_path = sbox.ospath('A/D/H/omega')
+ A_COPY_path = sbox.ospath('A_COPY')
+ psi_COPY_path = sbox.ospath('A_COPY/D/H/psi')
+ omega_COPY_path = sbox.ospath('A_COPY/D/H/omega')
# r7 Delete A/D/H/psi.
svntest.actions.run_and_verify_svn(None, None, [],
@@ -12353,7 +12353,7 @@ def subtrees_with_empty_mergeinfo(sbox):
wc_dir, expected_disk, expected_status = set_up_renamed_subtree(sbox)
# Some paths we'll care about
- H_COPY_path = os.path.join(wc_dir, "H_COPY")
+ H_COPY_path = sbox.ospath('H_COPY')
# Cherry harvest all available revsions from 'A/D/H' to 'H_COPY'.
#
@@ -12406,10 +12406,10 @@ def commit_to_subtree_added_by_merge(sbo
wc_dir = sbox.wc_dir
# Some paths we'll care about
- N_path = os.path.join(wc_dir, "A", "D", "H", "N")
- nu_path = os.path.join(wc_dir, "A", "D", "H", "N", "nu")
- nu_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "N", "nu")
- H_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H")
+ N_path = sbox.ospath('A/D/H/N')
+ nu_path = sbox.ospath('A/D/H/N/nu')
+ nu_COPY_path = sbox.ospath('A_COPY/D/H/N/nu')
+ H_COPY_path = sbox.ospath('A_COPY/D/H')
# Copy 'A' to 'A_COPY' in r2.
wc_disk, wc_status = set_up_branch(sbox, True)
@@ -12665,9 +12665,9 @@ def subtree_merges_dont_cause_spurious_c
wc_dir = sbox.wc_dir
# Some paths we'll care about
- rho_path = os.path.join(wc_dir, "A", "D", "G", "rho")
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- psi_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "psi")
+ rho_path = sbox.ospath('A/D/G/rho')
+ A_COPY_path = sbox.ospath('A_COPY')
+ psi_COPY_path = sbox.ospath('A_COPY/D/H/psi')
# Make a branch to merge to.
wc_disk, wc_status = set_up_branch(sbox, False, 1)
@@ -12885,13 +12885,13 @@ def merge_target_and_subtrees_need_nonin
wc_dir = sbox.wc_dir
# Some paths we'll care about
- nu_path = os.path.join(wc_dir, "A", "D", "G", "nu")
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- nu_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "G", "nu")
- omega_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "omega")
- beta_COPY_path = os.path.join(wc_dir, "A_COPY", "B", "E", "beta")
- rho_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "G", "rho")
- psi_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "psi")
+ nu_path = sbox.ospath('A/D/G/nu')
+ A_COPY_path = sbox.ospath('A_COPY')
+ nu_COPY_path = sbox.ospath('A_COPY/D/G/nu')
+ omega_COPY_path = sbox.ospath('A_COPY/D/H/omega')
+ beta_COPY_path = sbox.ospath('A_COPY/B/E/beta')
+ rho_COPY_path = sbox.ospath('A_COPY/D/G/rho')
+ psi_COPY_path = sbox.ospath('A_COPY/D/H/psi')
# Make a branch to merge to.
wc_disk, wc_status = set_up_branch(sbox, False, 1)
@@ -13195,10 +13195,10 @@ def merge_adds_mergeinfo_correctly(sbox)
wc_disk, wc_status = set_up_branch(sbox, False, 2)
# Some paths we'll care about
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- D_COPY_path = os.path.join(wc_dir, "A_COPY", "D")
- A_COPY_2_path = os.path.join(wc_dir, "A_COPY_2")
- D_COPY_2_path = os.path.join(wc_dir, "A_COPY_2", "D")
+ A_COPY_path = sbox.ospath('A_COPY')
+ D_COPY_path = sbox.ospath('A_COPY/D')
+ A_COPY_2_path = sbox.ospath('A_COPY_2')
+ D_COPY_2_path = sbox.ospath('A_COPY_2/D')
# Update working copy to allow full inheritance and elision.
svntest.actions.run_and_verify_svn(None, exp_noop_up_out(7), [],
@@ -13476,9 +13476,9 @@ def natural_history_filtering(sbox):
wc_dir = sbox.wc_dir
# Some paths we'll care about
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- A_COPY_2_path = os.path.join(wc_dir, "A_COPY_2")
- chi_path = os.path.join(wc_dir, "A", "D", "H", "chi")
+ A_COPY_path = sbox.ospath('A_COPY')
+ A_COPY_2_path = sbox.ospath('A_COPY_2')
+ chi_path = sbox.ospath('A/D/H/chi')
# r1-r6: Setup a 'trunk' (A) and a 'branch' (A_COPY).
wc_disk, wc_status = set_up_branch(sbox, False, 1)
@@ -13751,9 +13751,9 @@ def subtree_gets_changes_even_if_ultimat
wc_dir = sbox.wc_dir
# Some paths we'll care about
- H_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H")
- psi_path = os.path.join(wc_dir, "A", "D", "H", "psi")
- psi_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "psi")
+ H_COPY_path = sbox.ospath('A_COPY/D/H')
+ psi_path = sbox.ospath('A/D/H/psi')
+ psi_COPY_path = sbox.ospath('A_COPY/D/H/psi')
# r2 - r6: Copy A to A_COPY and then make some text changes under A.
set_up_branch(sbox)
@@ -13864,10 +13864,10 @@ def no_self_referential_filtering_on_add
wc_dir = sbox.wc_dir
# Some paths we'll care about
- C_COPY_path = os.path.join(wc_dir, "A_COPY", "C")
- A_path = os.path.join(wc_dir, "A")
- C_path = os.path.join(wc_dir, "A", "C")
- A_COPY_2_path = os.path.join(wc_dir, "A_COPY_2")
+ C_COPY_path = sbox.ospath('A_COPY/C')
+ A_path = sbox.ospath('A')
+ C_path = sbox.ospath('A/C')
+ A_COPY_2_path = sbox.ospath('A_COPY_2')
# r1-r7: Setup a 'trunk' and two 'branches'.
wc_disk, wc_status = set_up_branch(sbox, False, 2)
@@ -14020,21 +14020,21 @@ def merge_range_prior_to_rename_source_e
wc_dir = sbox.wc_dir
# Some paths we'll care about
- nu_path = os.path.join(wc_dir, "A", "D", "H", "nu")
- nu_moved_path = os.path.join(wc_dir, "A", "D", "H", "nu_moved")
- A_path = os.path.join(wc_dir, "A")
- alpha_path = os.path.join(wc_dir, "A", "B", "E", "alpha")
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- A_COPY_2_path = os.path.join(wc_dir, "A_COPY_2")
- B_COPY_path = os.path.join(wc_dir, "A_COPY", "B")
- B_COPY_2_path = os.path.join(wc_dir, "A_COPY_2", "B")
- alpha_COPY_path = os.path.join(wc_dir, "A_COPY", "B", "E", "alpha")
- beta_COPY_path = os.path.join(wc_dir, "A_COPY", "B", "E", "beta")
- gamma_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "gamma")
- rho_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "G", "rho")
- omega_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "omega")
- psi_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "psi")
- nu_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "nu")
+ nu_path = sbox.ospath('A/D/H/nu')
+ nu_moved_path = sbox.ospath('A/D/H/nu_moved')
+ A_path = sbox.ospath('A')
+ alpha_path = sbox.ospath('A/B/E/alpha')
+ A_COPY_path = sbox.ospath('A_COPY')
+ A_COPY_2_path = sbox.ospath('A_COPY_2')
+ B_COPY_path = sbox.ospath('A_COPY/B')
+ B_COPY_2_path = sbox.ospath('A_COPY_2/B')
+ alpha_COPY_path = sbox.ospath('A_COPY/B/E/alpha')
+ beta_COPY_path = sbox.ospath('A_COPY/B/E/beta')
+ gamma_COPY_path = sbox.ospath('A_COPY/D/gamma')
+ rho_COPY_path = sbox.ospath('A_COPY/D/G/rho')
+ omega_COPY_path = sbox.ospath('A_COPY/D/H/omega')
+ psi_COPY_path = sbox.ospath('A_COPY/D/H/psi')
+ nu_COPY_path = sbox.ospath('A_COPY/D/H/nu')
# Setup our basic 'trunk' and 'branch':
# r2 - Copy A to A_COPY
@@ -14364,8 +14364,8 @@ def set_up_natural_history_gap(sbox):
wc_disk, wc_status = set_up_branch(sbox, False, 0)
# Some paths we'll care about.
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- gamma_path = os.path.join(wc_dir, "A", "D", "gamma")
+ A_COPY_path = sbox.ospath('A_COPY')
+ gamma_path = sbox.ospath('A/D/gamma')
# r6: Delete 'A'
exit_code, out, err = svntest.actions.run_and_verify_svn(
@@ -14434,7 +14434,7 @@ def dont_merge_gaps_in_history(sbox):
set_up_natural_history_gap(sbox)
# Some paths we'll care about.
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
+ A_COPY_path = sbox.ospath('A_COPY')
# Now merge all available changes from 'A' to 'A_COPY'. The only
# available revisions are r8 and r9. Only r9 effects the source/target
@@ -14541,7 +14541,7 @@ def handle_gaps_in_implicit_mergeinfo(sb
expected_disk, expected_status = set_up_natural_history_gap(sbox)
# Some paths we'll care about.
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
+ A_COPY_path = sbox.ospath('A_COPY')
# Merge r4 to 'A_COPY' from A@4, which is *not* part of A_COPY's history.
expected_output = wc.State(A_COPY_path, {
@@ -14664,9 +14664,9 @@ def mergeinfo_deleted_by_a_merge_should_
wc_dir = sbox.wc_dir
# Some paths we'll care about
- D_COPY_path = os.path.join(wc_dir, "A_COPY", "D")
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- A_COPY_2_path = os.path.join(wc_dir, "A_COPY_2")
+ D_COPY_path = sbox.ospath('A_COPY/D')
+ A_COPY_path = sbox.ospath('A_COPY')
+ A_COPY_2_path = sbox.ospath('A_COPY_2')
# r2 - r6: Copy A to A_COPY and then make some text changes under A.
wc_disk, wc_status = set_up_branch(sbox)
@@ -14786,9 +14786,9 @@ def noop_file_merge(sbox):
wc_dir = sbox.wc_dir
# Some paths we'll care about
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- beta_COPY_path = os.path.join(wc_dir, "A_COPY", "B", "E", "beta")
- chi_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "chi")
+ A_COPY_path = sbox.ospath('A_COPY')
+ beta_COPY_path = sbox.ospath('A_COPY/B/E/beta')
+ chi_COPY_path = sbox.ospath('A_COPY/D/H/chi')
# r2 - r6: Copy A to A_COPY and then make some text changes under A.
wc_disk, wc_status = set_up_branch(sbox)
@@ -14935,15 +14935,15 @@ def record_only_merge(sbox):
wc_disk, wc_status = set_up_branch(sbox)
# Some paths we'll care about
- nu_path = os.path.join(wc_dir, "A", "C", "nu")
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- A2_path = os.path.join(wc_dir, "A2")
- Z_path = os.path.join(wc_dir, "A", "B", "Z")
- Z_COPY_path = os.path.join(wc_dir, "A_COPY", "B", "Z")
- rho_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "G", "rho")
- omega_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "omega")
- H_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H")
- nu_COPY_path = os.path.join(wc_dir, "A_COPY", "C", "nu")
+ nu_path = sbox.ospath('A/C/nu')
+ A_COPY_path = sbox.ospath('A_COPY')
+ A2_path = sbox.ospath('A2')
+ Z_path = sbox.ospath('A/B/Z')
+ Z_COPY_path = sbox.ospath('A_COPY/B/Z')
+ rho_COPY_path = sbox.ospath('A_COPY/D/G/rho')
+ omega_COPY_path = sbox.ospath('A_COPY/D/H/omega')
+ H_COPY_path = sbox.ospath('A_COPY/D/H')
+ nu_COPY_path = sbox.ospath('A_COPY/C/nu')
# r7 - Copy the branch A_COPY@2 to A2 and update the WC.
svntest.actions.run_and_verify_svn(None, None, [],
@@ -15129,8 +15129,8 @@ def merge_automatic_conflict_resolution(
# Some paths we'll care about
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- psi_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "psi")
+ A_COPY_path = sbox.ospath('A_COPY')
+ psi_COPY_path = sbox.ospath('A_COPY/D/H/psi')
# r7 - Make a change on A_COPY that will conflict with r3 on A
svntest.main.file_write(psi_COPY_path, "BASE.\n")
@@ -15216,7 +15216,7 @@ def merge_automatic_conflict_resolution(
'revert', '--recursive', wc_dir)
# Test --accept mine-conflict and mine-full
- expected_output = wc.State(A_COPY_path, {'D/H/psi' : Item(status='U ')})
+ expected_output = wc.State(A_COPY_path, {'D/H/psi' : Item(status='C ')})
expected_disk.tweak('D/H/psi', contents="BASE.\n")
expected_status.tweak('D/H/psi', status=' ')
svntest.actions.run_and_verify_merge(A_COPY_path, '2', '3',
@@ -15251,7 +15251,7 @@ def merge_automatic_conflict_resolution(
'revert', '--recursive', wc_dir)
# Test --accept theirs-conflict and theirs-full
- expected_output = wc.State(A_COPY_path, {'D/H/psi' : Item(status='U ')})
+ expected_output = wc.State(A_COPY_path, {'D/H/psi' : Item(status='C ')})
expected_disk.tweak('D/H/psi', contents="New content")
expected_status.tweak('D/H/psi', status='M ')
svntest.actions.run_and_verify_merge(A_COPY_path, '2', '3',
@@ -15285,7 +15285,7 @@ def merge_automatic_conflict_resolution(
svntest.actions.run_and_verify_svn(None, None, [],
'revert', '--recursive', wc_dir)
# Test --accept base
- expected_output = wc.State(A_COPY_path, {'D/H/psi' : Item(status='U ')})
+ expected_output = wc.State(A_COPY_path, {'D/H/psi' : Item(status='C ')})
expected_elision_output = wc.State(A_COPY_path, {
})
expected_disk.tweak('D/H/psi', contents="This is the file 'psi'.\n")
@@ -15315,10 +15315,10 @@ def skipped_files_get_correct_mergeinfo(
wc_dir = sbox.wc_dir
# Some paths we'll care about
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- H_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H")
- psi_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "psi")
- psi_path = os.path.join(wc_dir, "A", "D", "H", "psi")
+ A_COPY_path = sbox.ospath('A_COPY')
+ H_COPY_path = sbox.ospath('A_COPY/D/H')
+ psi_COPY_path = sbox.ospath('A_COPY/D/H/psi')
+ psi_path = sbox.ospath('A/D/H/psi')
# Setup our basic 'trunk' and 'branch':
# r2 - Copy A to A_COPY
@@ -15432,7 +15432,7 @@ def committed_case_only_move_and_revert(
wc_disk, wc_status = set_up_branch(sbox, True)
# Some paths we'll care about
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
+ A_COPY_path = sbox.ospath('A_COPY')
# r3: A case-only file rename on the server
svntest.actions.run_and_verify_svn(None,
@@ -15592,8 +15592,8 @@ def merge_into_wc_for_deleted_branch(sbo
wc_disk, wc_status = set_up_branch(sbox)
# Some paths we'll care about
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- gamma_path = os.path.join(wc_dir, "A", "D", "gamma")
+ A_COPY_path = sbox.ospath('A_COPY')
+ gamma_path = sbox.ospath('A/D/gamma')
# r7 - Delete the branch on the repository, obviously it still
# exists in our WC.
@@ -15704,17 +15704,17 @@ def foreign_repos_del_and_props(sbox):
svntest.actions.run_and_verify_svn(None, None, [], 'propset',
'svn:eol-style', 'native',
- os.path.join(wc_dir, 'iota'))
+ sbox.ospath('iota'))
svntest.actions.run_and_verify_svn(None, None, [], 'cp',
- os.path.join(wc_dir, 'A/D'),
- os.path.join(wc_dir, 'D'))
+ sbox.ospath('A/D'),
+ sbox.ospath('D'))
svntest.actions.run_and_verify_svn(None, None, [], 'rm',
- os.path.join(wc_dir, 'A/D'),
- os.path.join(wc_dir, 'D/G'))
+ sbox.ospath('A/D'),
+ sbox.ospath('D/G'))
- new_file = os.path.join(wc_dir, 'new-file')
+ new_file = sbox.ospath('new-file')
svntest.main.file_write(new_file, 'new-file')
svntest.actions.run_and_verify_svn(None, None, [], 'add', new_file)
@@ -15784,8 +15784,8 @@ def immediate_depth_merge_creates_minima
wc_dir = sbox.wc_dir
wc_disk, wc_status = set_up_branch(sbox)
- B_path = os.path.join(wc_dir, "A", "B")
- B_COPY_path = os.path.join(wc_dir, "A_COPY", "B")
+ B_path = sbox.ospath('A/B')
+ B_COPY_path = sbox.ospath('A_COPY/B')
svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir)
@@ -15856,9 +15856,9 @@ def record_only_merge_creates_self_refer
wc_dir = sbox.wc_dir
# Some paths we'll care about
- mu_path = os.path.join(wc_dir, 'A', 'mu')
- A_path = os.path.join(wc_dir, 'A')
- A_branch_path = os.path.join(wc_dir, 'A-branch')
+ mu_path = sbox.ospath('A/mu')
+ A_path = sbox.ospath('A')
+ A_branch_path = sbox.ospath('A-branch')
# Make a change to A/mu in r2.
svntest.main.file_write(mu_path, "Trunk edit\n")
@@ -15945,11 +15945,11 @@ def dav_skelta_mode_causes_spurious_conf
wc_dir = sbox.wc_dir
# Some paths we'll care about
- mu_path = os.path.join(wc_dir, "A", "mu")
- A_path = os.path.join(wc_dir, "A")
- C_path = os.path.join(wc_dir, "A", "C")
- A_branch_path = os.path.join(wc_dir, "A-branch")
- C_branch_path = os.path.join(wc_dir, "A-branch", "C")
+ mu_path = sbox.ospath('A/mu')
+ A_path = sbox.ospath('A')
+ C_path = sbox.ospath('A/C')
+ A_branch_path = sbox.ospath('A-branch')
+ C_branch_path = sbox.ospath('A-branch/C')
# r2 - Set some intial properties:
#
@@ -16205,11 +16205,11 @@ def merge_with_os_deleted_subtrees(sbox)
set_up_branch(sbox)
# Some paths we'll care about
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
- C_COPY_path = os.path.join(wc_dir, "A_COPY", "C")
- psi_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "psi")
- mu_COPY_path = os.path.join(wc_dir, "A_COPY", "mu")
- G_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "G")
+ A_COPY_path = sbox.ospath('A_COPY')
+ C_COPY_path = sbox.ospath('A_COPY/C')
+ psi_COPY_path = sbox.ospath('A_COPY/D/H/psi')
+ mu_COPY_path = sbox.ospath('A_COPY/mu')
+ G_COPY_path = sbox.ospath('A_COPY/D/G')
# Remove several subtrees from disk.
svntest.main.safe_rmtree(C_COPY_path)
@@ -16289,12 +16289,12 @@ def no_self_referential_or_nonexistent_i
set_up_branch(sbox, nbr_of_branches=1)
# Some paths we'll care about
- nu_path = os.path.join(wc_dir, "A", "C", "nu")
- nu_COPY_path = os.path.join(wc_dir, "A_COPY", "C", "nu")
- J_path = os.path.join(wc_dir, "A", "D", "J")
- J_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "J")
- zeta_path = os.path.join(wc_dir, "A", "D", "J", "zeta")
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
+ nu_path = sbox.ospath('A/C/nu')
+ nu_COPY_path = sbox.ospath('A_COPY/C/nu')
+ J_path = sbox.ospath('A/D/J')
+ J_COPY_path = sbox.ospath('A_COPY/D/J')
+ zeta_path = sbox.ospath('A/D/J/zeta')
+ A_COPY_path = sbox.ospath('A_COPY')
# r7 - Add the file A/C/nu
svntest.main.file_write(nu_path, "This is the file 'nu'.\n")
@@ -16421,9 +16421,9 @@ def subtree_merges_inherit_invalid_worki
set_up_branch(sbox, nbr_of_branches=1)
# Some paths we'll care about
- nu_path = os.path.join(wc_dir, "A", "C", "nu")
- nu_COPY_path = os.path.join(wc_dir, "A_COPY", "C", "nu")
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
+ nu_path = sbox.ospath('A/C/nu')
+ nu_COPY_path = sbox.ospath('A_COPY/C/nu')
+ A_COPY_path = sbox.ospath('A_COPY')
# r7 - Add the file A/C/nu
svntest.main.file_write(nu_path, "This is the file 'nu'.\n")
@@ -16487,8 +16487,8 @@ def merge_change_to_file_with_executable
wc_dir = sbox.wc_dir
trunk_url = sbox.repo_url + '/A/B/E'
- alpha_path = os.path.join(wc_dir, "A", "B", "E", "alpha")
- beta_path = os.path.join(wc_dir, "A", "B", "E", "beta")
+ alpha_path = sbox.ospath('A/B/E/alpha')
+ beta_path = sbox.ospath('A/B/E/beta')
# Force one of the files to be a binary type
svntest.actions.run_and_verify_svn(None, None, [],
@@ -16537,8 +16537,8 @@ def merge_change_to_file_with_executable
sbox.repo_url + '/branch', wc_dir)
# Recalculate the paths
- alpha_path = os.path.join(wc_dir, "alpha")
- beta_path = os.path.join(wc_dir, "beta")
+ alpha_path = sbox.ospath('alpha')
+ beta_path = sbox.ospath('beta')
expected_output = wc.State(wc_dir, {
'beta' : Item(status='U '),
@@ -16604,7 +16604,7 @@ def dry_run_merge_conflicting_binary(sbo
# Add a binary file to the project
theta_contents = open(os.path.join(sys.path[0], "theta.bin"), 'rb').read()
# Write PNG file data into 'A/theta'.
- theta_path = os.path.join(wc_dir, 'A', 'theta')
+ theta_path = sbox.ospath('A/theta')
svntest.main.file_write(theta_path, theta_contents, 'wb')
svntest.main.run_svn(None, 'add', theta_path)
@@ -16740,10 +16740,10 @@ def merge_adds_subtree_with_mergeinfo(sb
wc_dir = sbox.wc_dir
wc_disk, wc_status = set_up_branch(sbox, False, 2)
- A_path = os.path.join(wc_dir, 'A')
- nu_path = os.path.join(wc_dir, 'A', 'C', 'nu')
- nu_COPY_path = os.path.join(wc_dir, 'A_COPY', 'C', 'nu')
- A_COPY2_path = os.path.join(wc_dir, 'A_COPY_2')
+ A_path = sbox.ospath('A')
+ nu_path = sbox.ospath('A/C/nu')
+ nu_COPY_path = sbox.ospath('A_COPY/C/nu')
+ A_COPY2_path = sbox.ospath('A_COPY_2')
# r8 - Add the file A_COPY/C/nu.
svntest.main.file_write(nu_COPY_path, "This is the file 'nu'.\n")
@@ -16868,10 +16868,10 @@ def reverse_merge_adds_subtree(sbox):
wc_dir = sbox.wc_dir
wc_disk, wc_status = set_up_branch(sbox)
- A_path = os.path.join(wc_dir, 'A')
- chi_path = os.path.join(wc_dir, 'A', 'D', 'H', 'chi')
- A_COPY_path = os.path.join(wc_dir, 'A_COPY')
- H_COPY_path = os.path.join(wc_dir, 'A_COPY', 'D', 'H')
+ A_path = sbox.ospath('A')
+ chi_path = sbox.ospath('A/D/H/chi')
+ A_COPY_path = sbox.ospath('A_COPY')
+ H_COPY_path = sbox.ospath('A_COPY/D/H')
# r7 - Delete A\D\H\chi
svntest.actions.run_and_verify_svn(None, None, [], 'delete', chi_path)
@@ -17002,9 +17002,9 @@ def merged_deletion_causes_tree_conflict
sbox.build()
wc_dir = sbox.wc_dir
- A_path = os.path.join(wc_dir, 'A')
- psi_path = os.path.join(wc_dir, 'A', 'D', 'H', 'psi')
- H_branch_path = os.path.join(wc_dir, 'branch', 'D', 'H')
+ A_path = sbox.ospath('A')
+ psi_path = sbox.ospath('A/D/H/psi')
+ H_branch_path = sbox.ospath('branch/D/H')
# r2 - Set svn:eol-style native on A/D/H/psi
svntest.actions.run_and_verify_svn(None, None, [], 'ps', 'svn:eol-style',
@@ -17075,9 +17075,9 @@ def record_only_merge_adds_new_subtree_m
wc_dir = sbox.wc_dir
wc_disk, wc_status = set_up_branch(sbox)
- psi_path = os.path.join(wc_dir, 'A', 'D', 'H', 'psi')
- psi_COPY_path = os.path.join(wc_dir, 'A_COPY', 'D', 'H', 'psi')
- H_COPY2_path = os.path.join(wc_dir, 'A_COPY_2', 'D', 'H')
+ psi_path = sbox.ospath('A/D/H/psi')
+ psi_COPY_path = sbox.ospath('A_COPY/D/H/psi')
+ H_COPY2_path = sbox.ospath('A_COPY_2/D/H')
# r7 - Copy ^/A_COPY to ^/A_COPY_2
svntest.actions.run_and_verify_svn(None, None, [],
@@ -17160,8 +17160,8 @@ def noninheritable_mergeinfo_test_set_up
sbox.build()
wc_dir = sbox.wc_dir
- lambda_path = os.path.join(wc_dir, 'A', 'B', 'lambda')
- B_branch_path = os.path.join(wc_dir, 'branch', 'B')
+ lambda_path = sbox.ospath('A/B/lambda')
+ B_branch_path = sbox.ospath('branch/B')
# r2 - Branch ^/A to ^/branch.
svntest.main.run_svn(None, 'copy', sbox.repo_url + '/A',
@@ -17213,7 +17213,7 @@ def noninheritable_mergeinfo_test_set_up
def unnecessary_noninheritable_mergeinfo_missing_subtrees(sbox):
"missing subtrees untouched by infinite depth merge"
- B_branch_path = os.path.join(sbox.wc_dir, 'branch', 'B')
+ B_branch_path = sbox.ospath('branch/B')
# Setup a simple branch to which
expected_output, expected_mergeinfo_output, expected_elision_output, \
@@ -17257,8 +17257,8 @@ def unnecessary_noninheritable_mergeinfo
def unnecessary_noninheritable_mergeinfo_shallow_merge(sbox):
"shallow merge reaches all necessary subtrees"
- B_branch_path = os.path.join(sbox.wc_dir, 'branch', 'B')
- E_path = os.path.join(sbox.wc_dir, 'A', 'B', 'E')
+ B_branch_path = sbox.ospath('branch/B')
+ E_path = sbox.ospath('A/B/E')
# Setup a simple branch to which
expected_output, expected_mergeinfo_output, expected_elision_output, \
@@ -17417,13 +17417,13 @@ def merge_source_with_replacement(sbox):
wc_dir = sbox.wc_dir
# Some paths we'll care about.
- A_path = os.path.join(sbox.wc_dir, 'A')
- omega_path = os.path.join(sbox.wc_dir, 'A', 'D', 'H', 'omega')
- A_COPY_path = os.path.join(sbox.wc_dir, 'A_COPY')
- beta_COPY_path = os.path.join(sbox.wc_dir, 'A_COPY', 'B', 'E', 'beta')
- psi_COPY_path = os.path.join(sbox.wc_dir, 'A_COPY', 'D', 'H', 'psi')
- rho_COPY_path = os.path.join(sbox.wc_dir, 'A_COPY', 'D', 'G', 'rho')
- omega_COPY_path = os.path.join(sbox.wc_dir, 'A_COPY', 'D', 'H', 'omega')
+ A_path = sbox.ospath('A')
+ omega_path = sbox.ospath('A/D/H/omega')
+ A_COPY_path = sbox.ospath('A_COPY')
+ beta_COPY_path = sbox.ospath('A_COPY/B/E/beta')
+ psi_COPY_path = sbox.ospath('A_COPY/D/H/psi')
+ rho_COPY_path = sbox.ospath('A_COPY/D/G/rho')
+ omega_COPY_path = sbox.ospath('A_COPY/D/H/omega')
# branch A@1 to A_COPY in r2, then make a few edits under A in r3-6:
wc_disk, wc_status = set_up_branch(sbox)
@@ -17479,13 +17479,13 @@ def reverse_merge_with_rename(sbox):
wc_dir = sbox.wc_dir
# Some paths we'll care about.
- A_path = os.path.join(sbox.wc_dir, 'A')
- omega_path = os.path.join(sbox.wc_dir, 'trunk', 'D', 'H', 'omega')
- A_COPY_path = os.path.join(sbox.wc_dir, 'A_COPY')
- beta_COPY_path = os.path.join(sbox.wc_dir, 'A_COPY', 'B', 'E', 'beta')
- psi_COPY_path = os.path.join(sbox.wc_dir, 'A_COPY', 'D', 'H', 'psi')
- rho_COPY_path = os.path.join(sbox.wc_dir, 'A_COPY', 'D', 'G', 'rho')
- omega_COPY_path = os.path.join(sbox.wc_dir, 'A_COPY', 'D', 'H', 'omega')
+ A_path = sbox.ospath('A')
+ omega_path = sbox.ospath('trunk/D/H/omega')
+ A_COPY_path = sbox.ospath('A_COPY')
+ beta_COPY_path = sbox.ospath('A_COPY/B/E/beta')
+ psi_COPY_path = sbox.ospath('A_COPY/D/H/psi')
+ rho_COPY_path = sbox.ospath('A_COPY/D/G/rho')
+ omega_COPY_path = sbox.ospath('A_COPY/D/H/omega')
# branch A@1 to A_COPY in r2, then make a few edits under A in r3-6:
wc_disk, wc_status = set_up_branch(sbox)
@@ -17550,6 +17550,251 @@ def reverse_merge_with_rename(sbox):
'merge', sbox.repo_url + '/trunk',
A_COPY_path, '-r9:1')
+#----------------------------------------------------------------------
+# Test for issue #4166 'multiple merge editor drives which add then
+# delete a subtree fail'.
+@SkipUnless(server_has_mergeinfo)
+@Issue(4166)
+def merge_adds_then_deletes_subtree(sbox):
+ "merge adds then deletes subtree"
+
+ # Some paths we'll care about.
+ A_path = sbox.ospath('A')
+ nu_path = sbox.ospath('A/C/nu')
+ C_branch_path = sbox.ospath('branch/C')
+ nu_branch_path = sbox.ospath('branch/C/nu')
+
+ sbox.build()
+ wc_dir = sbox.wc_dir
+
+ # Make a branch.
+ svntest.actions.run_and_verify_svn(None, None, [], 'copy',
+ sbox.repo_url + '/A',
+ sbox.repo_url + '/branch',
+ '-m', 'Make a branch.')
+
+ # On the branch parent: Add a file in r3 and then delete it in r4.
+ svntest.main.file_write(nu_path, "This is the file 'nu'.\n")
+ svntest.actions.run_and_verify_svn(None, None, [], 'add', nu_path)
+ svntest.actions.run_and_verify_svn(None, None, [], 'ci', wc_dir,
+ '-m', 'Add a file')
+ svntest.actions.run_and_verify_svn(None, None, [], 'delete', nu_path)
+ svntest.actions.run_and_verify_svn(None, None, [], 'ci', wc_dir,
+ '-m', 'Delete a file')
+
+ # Merge r3 and r4 from ^/A/C to branch/C as part of one merge
+ # command, but as separate editor drives, i.e. 'c3,4 vs. -r2:4.
+ # These should be equivalent but the former was failing with:
+ #
+ # >svn merge ^/A/C branch\C -c3,4
+ # --- Merging r3 into 'branch\C':
+ # A branch\C\nu
+ # --- Recording mergeinfo for merge of r3 into 'branch\C':
+ # U branch\C
+ # --- Merging r4 into 'branch\C':
+ # D branch\C\nu
+ # --- Recording mergeinfo for merge of r4 into 'branch\C':
+ # G branch\C
+ # ..\..\..\subversion\svn\util.c:913: (apr_err=155010)
+ # ..\..\..\subversion\libsvn_client\merge.c:10873: (apr_err=155010)
+ # ..\..\..\subversion\libsvn_client\merge.c:10837: (apr_err=155010)
+ # ..\..\..\subversion\libsvn_client\merge.c:8994: (apr_err=155010)
+ # ..\..\..\subversion\libsvn_client\merge.c:7923: (apr_err=155010)
+ # ..\..\..\subversion\libsvn_client\mergeinfo.c:257: (apr_err=155010)
+ # ..\..\..\subversion\libsvn_client\mergeinfo.c:97: (apr_err=155010)
+ # ..\..\..\subversion\libsvn_wc\props.c:2003: (apr_err=155010)
+ # ..\..\..\subversion\libsvn_wc\props.c:2024: (apr_err=155010)
+ # ..\..\..\subversion\libsvn_wc\wc_db.c:11473: (apr_err=155010)
+ # ..\..\..\subversion\libsvn_wc\wc_db.c:7247: (apr_err=155010)
+ # ..\..\..\subversion\libsvn_wc\wc_db.c:7232: (apr_err=155010)
+ # svn: E155010: The node 'C:\SVN\src-trunk\Debug\subversion\tests
+ # \cmdline\svn-test-work\working_copies\merge_tests-128\branch\C\nu'
+ # was not found.
+ svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir)
+ svntest.actions.run_and_verify_svn(
+ None,
+ expected_merge_output([[3],[4]],
+ ['A ' + nu_branch_path + '\n',
+ 'D ' + nu_branch_path + '\n',
+ ' U ' + C_branch_path + '\n',
+ ' G ' + C_branch_path + '\n',]),
+ [], 'merge', '-c3,4', sbox.repo_url + '/A/C', C_branch_path)
+
+#----------------------------------------------------------------------
+# Test for issue #4169 'added subtrees with non-inheritable mergeinfo
+# cause spurious subtree mergeinfo'.
+@SkipUnless(server_has_mergeinfo)
+@Issue(4169)
+def merge_with_added_subtrees_with_mergeinfo(sbox):
+ "merge with added subtrees with mergeinfo"
+
+ # Some paths we'll care about.
+ A_path = sbox.ospath('A')
+ Y_path = sbox.ospath('A/C/X/Y')
+ Z_path = sbox.ospath('A/C/X/Y/Z')
+ nu_path = sbox.ospath('A/C/X/Y/Z/nu')
+ A_COPY_path = sbox.ospath('A_COPY')
+ Y_COPY_path = sbox.ospath('A_COPY/C/X/Y')
+ W_COPY_path = sbox.ospath('A_COPY/C/X/Y/Z/W')
+ A_COPY2_path = sbox.ospath('A_COPY_2')
+
+ sbox.build()
+ wc_dir = sbox.wc_dir
+
+ # Make two branches of ^/A and then make a few edits under A in r4-7:
+ wc_disk, wc_status = set_up_branch(sbox, nbr_of_branches=2)
+
+ # r8 - Add a subtree under A.
+ svntest.actions.run_and_verify_svn(None, None, [], 'mkdir', '--parents',
+ Z_path)
+ svntest.main.file_write(nu_path, "This is the file 'nu'.\n")
+ svntest.actions.run_and_verify_svn(None, None, [], 'add', nu_path)
+ svntest.actions.run_and_verify_svn(None, None, [], 'ci', wc_dir,
+ '-m', 'Add a subtree on our "trunk"')
+
+ # r9 - Sync ^/A to the first branch A_COPY.
+ svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir)
+ svntest.actions.run_and_verify_svn(None, None, [], 'merge',
+ sbox.repo_url + '/A', A_COPY_path)
+ svntest.actions.run_and_verify_svn(None, None, [], 'ci', wc_dir,
+ '-m', 'Sync ^/A to ^/A_COPY')
+
+ # r10 - Make some edits on the first branch.
+ svntest.actions.run_and_verify_svn(None, None, [], 'ps', 'branch-prop-foo',
+ 'bar', Y_COPY_path)
+ svntest.actions.run_and_verify_svn(None, None, [], 'mkdir', W_COPY_path)
+ svntest.actions.run_and_verify_svn(None, None, [], 'ci', wc_dir,
+ '-m', 'Make some edits on "branch 1"')
+
+ # r11 - Cherry-pick r10 on the first branch back to A, but
+ # do so at depth=empty so non-inheritable mergeinfo is created.
+ svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir)
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-c10', '--depth=empty',
+ sbox.repo_url + '/A_COPY/C/X/Y', Y_path)
+ svntest.actions.run_and_verify_svn(
+ None, None, [], 'ci', wc_dir,
+ '-m', 'Depth empty subtree cherry pick from "branch 1" to "trunk"')
+
+ # Sync ^/A to the second branch A_COPY_2.
+ #
+ # Previously this failed because spurious mergeinfo was created on
+ # A_COPY_2/C/X/Y/Z:
+ #
+ # >svn merge ^^/A A_COPY_2
+ # --- Merging r3 through r11 into 'A_COPY_2':
+ # U A_COPY_2\B\E\beta
+ # A A_COPY_2\C\X
+ # A A_COPY_2\C\X\Y
+ # A A_COPY_2\C\X\Y\Z
+ # A A_COPY_2\C\X\Y\Z\nu
+ # U A_COPY_2\D\G\rho
+ # U A_COPY_2\D\H\omega
+ # U A_COPY_2\D\H\psi
+ # --- Recording mergeinfo for merge of r3 through r11 into 'A_COPY_2':
+ # U A_COPY_2
+ # --- Recording mergeinfo for merge of r3 through r11 into 'A_COPY_2\C\X\Y':
+ # G A_COPY_2\C\X\Y
+ # vvvvvvvvvvvvvvvvvvvv
+ # U A_COPY_2\C\X\Y\Z
+ # ^^^^^^^^^^^^^^^^^^^^
+ #
+ # >svn pl -vR A_COPY_2
+ # Properties on 'A_COPY_2':
+ # svn:mergeinfo
+ # /A:3-11
+ # Properties on 'A_COPY_2\C\X\Y':
+ # branch-prop-foo
+ # bar
+ # svn:mergeinfo
+ # /A/C/X/Y:8-11
+ # /A_COPY/C/X/Y:10*
+ # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
+ # Properties on 'A_COPY_2\C\X\Y\Z':
+ # svn:mergeinfo
+ # /A/C/X/Y/Z:8-11
+ # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir)
[... 93 lines stripped ...]