diff options
Diffstat (limited to 'subversion/tests/cmdline/upgrade_tests.py')
-rwxr-xr-x | subversion/tests/cmdline/upgrade_tests.py | 217 |
1 files changed, 151 insertions, 66 deletions
diff --git a/subversion/tests/cmdline/upgrade_tests.py b/subversion/tests/cmdline/upgrade_tests.py index 839206e..57aabae 100755 --- a/subversion/tests/cmdline/upgrade_tests.py +++ b/subversion/tests/cmdline/upgrade_tests.py @@ -109,8 +109,7 @@ def check_format(sbox, expected_format): raise svntest.Failure("found format '%d'; expected '%d'; in wc '%s'" % (found_format, expected_format, root)) - if svntest.main.wc_is_singledb(sbox.wc_dir): - dirs[:] = [] + dirs[:] = [] if dot_svn in dirs: dirs.remove(dot_svn) @@ -258,7 +257,7 @@ def basic_upgrade(sbox): replace_sbox_with_tarfile(sbox, 'basic_upgrade.tar.bz2') # Attempt to use the working copy, this should give an error - svntest.actions.run_and_verify_svn(None, None, wc_is_too_old_regex, + svntest.actions.run_and_verify_svn(None, wc_is_too_old_regex, 'info', sbox.wc_dir) # Upgrade on something anywhere within a versioned subdir gives a @@ -267,24 +266,24 @@ def basic_upgrade(sbox): # Both cases use the same error code. not_wc = ".*(E155007|E155019).*%s'.*not a working copy.*" os.mkdir(sbox.ospath('X')) - svntest.actions.run_and_verify_svn(None, None, not_wc % 'X', + svntest.actions.run_and_verify_svn(None, not_wc % 'X', 'upgrade', sbox.ospath('X')) # Upgrade on a non-existent subdir within an old WC gives a # 'not a working copy' error. - svntest.actions.run_and_verify_svn(None, None, not_wc % 'Y', + svntest.actions.run_and_verify_svn(None, not_wc % 'Y', 'upgrade', sbox.ospath('Y')) # Upgrade on a versioned file within an old WC gives a # 'not a working copy' error. - svntest.actions.run_and_verify_svn(None, None, not_wc % 'mu', + svntest.actions.run_and_verify_svn(None, not_wc % 'mu', 'upgrade', sbox.ospath('A/mu')) # Upgrade on a versioned dir within an old WC gives a # 'not a working copy' error. - svntest.actions.run_and_verify_svn(None, None, not_wc % 'A', + svntest.actions.run_and_verify_svn(None, not_wc % 'A', 'upgrade', sbox.ospath('A')) # Now upgrade the working copy - svntest.actions.run_and_verify_svn(None, None, [], + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) # Actually check the format number of the upgraded working copy @@ -304,10 +303,10 @@ def upgrade_with_externals(sbox): # Attempt to use the working copy, this should give an error expected_stderr = wc_is_too_old_regex - svntest.actions.run_and_verify_svn(None, None, expected_stderr, + svntest.actions.run_and_verify_svn(None, expected_stderr, 'info', sbox.wc_dir) # Now upgrade the working copy - svntest.actions.run_and_verify_svn(None, None, [], + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) # Actually check the format number of the upgraded working copy @@ -320,12 +319,12 @@ def upgrade_1_5_body(sbox, subcommand): # Attempt to use the working copy, this should give an error expected_stderr = wc_is_too_old_regex - svntest.actions.run_and_verify_svn(None, None, expected_stderr, + svntest.actions.run_and_verify_svn(None, expected_stderr, subcommand, sbox.wc_dir) # Now upgrade the working copy - svntest.actions.run_and_verify_svn(None, None, [], + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) # Check the format of the working copy @@ -359,7 +358,7 @@ def logs_left_1_5(sbox): # Try to upgrade, this should give an error expected_stderr = (".*Cannot upgrade with existing logs; .*") - svntest.actions.run_and_verify_svn(None, None, expected_stderr, + svntest.actions.run_and_verify_svn(None, expected_stderr, 'upgrade', sbox.wc_dir) @@ -367,7 +366,7 @@ def upgrade_wcprops(sbox): "test upgrading a working copy with wcprops" replace_sbox_with_tarfile(sbox, 'upgrade_wcprops.tar.bz2') - svntest.actions.run_and_verify_svn(None, None, [], + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) # Make sure that .svn/all-wcprops has disappeared @@ -437,15 +436,15 @@ def basic_upgrade_1_0(sbox): # Attempt to use the working copy, this should give an error expected_stderr = wc_is_too_old_regex - svntest.actions.run_and_verify_svn(None, None, expected_stderr, + svntest.actions.run_and_verify_svn(None, expected_stderr, 'info', sbox.wc_dir) # Now upgrade the working copy - svntest.actions.run_and_verify_svn(None, None, [], + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) # And the separate working copy below COPIED or check_format() fails - svntest.actions.run_and_verify_svn(None, None, [], + svntest.actions.run_and_verify_svn(None, [], 'upgrade', os.path.join(sbox.wc_dir, 'COPIED', 'G')) @@ -521,12 +520,12 @@ def basic_upgrade_1_0(sbox): def do_x3_upgrade(sbox, expected_error=[]): # Attempt to use the working copy, this should give an error expected_stderr = wc_is_too_old_regex - svntest.actions.run_and_verify_svn(None, None, expected_stderr, + svntest.actions.run_and_verify_svn(None, expected_stderr, 'info', sbox.wc_dir) # Now upgrade the working copy - svntest.actions.run_and_verify_svn(None, None, expected_error, + svntest.actions.run_and_verify_svn(None, expected_error, 'upgrade', sbox.wc_dir) if expected_error != []: @@ -600,7 +599,7 @@ def do_x3_upgrade(sbox, expected_error=[]): 'A/G_new/rho' : {'svn:eol-style': 'native'} }) - svntest.actions.run_and_verify_svn(None, 'Reverted.*', [], + svntest.actions.run_and_verify_svn('Reverted.*', [], 'revert', '-R', sbox.wc_dir) expected_status = svntest.wc.State(sbox.wc_dir, @@ -665,7 +664,7 @@ def missing_dirs(sbox): # touch wc/A/D wc/A/B_new/F replace_sbox_with_tarfile(sbox, 'missing-dirs.tar.bz2') - svntest.actions.run_and_verify_svn(None, None, [], + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) expected_status = svntest.wc.State(sbox.wc_dir, { @@ -694,7 +693,7 @@ def missing_dirs2(sbox): os.remove(sbox.ospath('A/B_new/F')) os.mkdir(sbox.ospath('A/D')) os.mkdir(sbox.ospath('A/B_new/F')) - svntest.actions.run_and_verify_svn(None, None, [], + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) expected_status = svntest.wc.State(sbox.wc_dir, { @@ -721,7 +720,7 @@ def delete_and_keep_local(sbox): replace_sbox_with_tarfile(sbox, 'wc-delete.tar.bz2') - svntest.actions.run_and_verify_svn(None, None, [], + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) expected_status = svntest.wc.State(sbox.wc_dir, @@ -752,7 +751,7 @@ def dirs_only_upgrade(sbox): expected_output = ["Upgraded '%s'\n" % (sbox.ospath('').rstrip(os.path.sep)), "Upgraded '%s'\n" % (sbox.ospath('A'))] - svntest.actions.run_and_verify_svn(None, expected_output, [], + svntest.actions.run_and_verify_svn(expected_output, [], 'upgrade', sbox.wc_dir) expected_status = svntest.wc.State(sbox.wc_dir, { @@ -823,7 +822,7 @@ def delete_in_copy_upgrade(sbox): wc_dir = sbox.wc_dir replace_sbox_with_tarfile(sbox, 'delete-in-copy.tar.bz2') - svntest.actions.run_and_verify_svn(None, None, [], + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) expected_status = svntest.actions.get_virginal_state(sbox.wc_dir, 1) @@ -837,7 +836,7 @@ def delete_in_copy_upgrade(sbox): }) run_and_verify_status_no_server(sbox.wc_dir, expected_status) - svntest.actions.run_and_verify_svn(None, 'Reverted.*', [], 'revert', '-R', + svntest.actions.run_and_verify_svn('Reverted.*', [], 'revert', '-R', sbox.ospath('A/B-copied/E')) expected_status.tweak('A/B-copied/E', @@ -856,7 +855,7 @@ def replaced_files(sbox): wc_dir = sbox.wc_dir replace_sbox_with_tarfile(sbox, 'replaced-files.tar.bz2') - svntest.actions.run_and_verify_svn(None, None, [], + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) # A is a checked-out dir containing A/f and A/g, then @@ -894,7 +893,7 @@ def replaced_files(sbox): [sbox.ospath('B/f'), '395dfb603d8a4e0348d0b082803f2b7426c76eb9'], [sbox.ospath('B/g'), None]]) - svntest.actions.run_and_verify_svn(None, 'Reverted.*', [], 'revert', + svntest.actions.run_and_verify_svn('Reverted.*', [], 'revert', sbox.ospath('A/f'), sbox.ospath('B/f'), sbox.ospath('A/g'), sbox.ospath('B/g')) @@ -916,7 +915,7 @@ def upgrade_with_scheduled_change(sbox): replace_sbox_with_tarfile(sbox, 'upgrade_with_scheduled_change.tar.bz2') - svntest.actions.run_and_verify_svn(None, None, [], + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) expected_status = svntest.actions.get_virginal_state(sbox.wc_dir, 1) expected_status.add({ @@ -930,21 +929,21 @@ def tree_replace1(sbox): replace_sbox_with_tarfile(sbox, 'tree-replace1.tar.bz2') - svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir) + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) expected_status = svntest.wc.State(sbox.wc_dir, { '' : Item(status=' M', wc_rev=17), 'B' : Item(status='R ', copied='+', wc_rev='-'), - 'B/f' : Item(status='R ', copied='+', wc_rev='-'), + 'B/f' : Item(status=' ', copied='+', wc_rev='-'), 'B/g' : Item(status='D ', wc_rev=17), - 'B/h' : Item(status='A ', copied='+', wc_rev='-'), - 'B/C' : Item(status='R ', copied='+', wc_rev='-'), - 'B/C/f' : Item(status='R ', copied='+', wc_rev='-'), + 'B/h' : Item(status=' ', copied='+', wc_rev='-'), + 'B/C' : Item(status=' ', copied='+', wc_rev='-'), + 'B/C/f' : Item(status=' ', copied='+', wc_rev='-'), 'B/D' : Item(status='D ', wc_rev=17), 'B/D/f' : Item(status='D ', wc_rev=17), - 'B/E' : Item(status='A ', copied='+', wc_rev='-'), - 'B/E/f' : Item(status='A ', copied='+', wc_rev='-'), + 'B/E' : Item(status=' ', copied='+', wc_rev='-'), + 'B/E/f' : Item(status=' ', copied='+', wc_rev='-'), }) run_and_verify_status_no_server(sbox.wc_dir, expected_status) @@ -954,7 +953,7 @@ def tree_replace2(sbox): replace_sbox_with_tarfile(sbox, 'tree-replace2.tar.bz2') - svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir) + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) expected_status = svntest.wc.State(sbox.wc_dir, { @@ -962,11 +961,11 @@ def tree_replace2(sbox): 'B' : Item(status='R ', copied='+', wc_rev='-'), 'B/f' : Item(status='D ', wc_rev=12), 'B/D' : Item(status='D ', wc_rev=12), - 'B/g' : Item(status='A ', copied='+', wc_rev='-'), - 'B/E' : Item(status='A ', copied='+', wc_rev='-'), + 'B/g' : Item(status=' ', copied='+', wc_rev='-'), + 'B/E' : Item(status=' ', copied='+', wc_rev='-'), 'C' : Item(status='R ', copied='+', wc_rev='-'), - 'C/f' : Item(status='A ', copied='+', wc_rev='-'), - 'C/D' : Item(status='A ', copied='+', wc_rev='-'), + 'C/f' : Item(status=' ', copied='+', wc_rev='-'), + 'C/D' : Item(status=' ', copied='+', wc_rev='-'), 'C/g' : Item(status='D ', wc_rev=12), 'C/E' : Item(status='D ', wc_rev=12), }) @@ -988,7 +987,7 @@ def upgrade_from_format_28(sbox): assert not os.path.exists(new_pristine_path) # Upgrade the WC - svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir) + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) assert not os.path.exists(old_pristine_path) assert os.path.exists(new_pristine_path) @@ -999,7 +998,7 @@ def depth_exclude(sbox): replace_sbox_with_tarfile(sbox, 'depth_exclude.tar.bz2') - svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir) + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) expected_status = svntest.wc.State(sbox.wc_dir, { @@ -1015,7 +1014,7 @@ def depth_exclude_2(sbox): replace_sbox_with_tarfile(sbox, 'depth_exclude_2.tar.bz2') - svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir) + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) expected_status = svntest.wc.State(sbox.wc_dir, { @@ -1030,7 +1029,7 @@ def add_add_del_del_tc(sbox): replace_sbox_with_tarfile(sbox, 'add_add_del_del_tc.tar.bz2') - svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir) + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) expected_status = svntest.wc.State(sbox.wc_dir, { @@ -1048,7 +1047,7 @@ def add_add_x2(sbox): replace_sbox_with_tarfile(sbox, 'add_add_x2.tar.bz2') - svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir) + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) expected_status = svntest.wc.State(sbox.wc_dir, { @@ -1078,7 +1077,7 @@ def upgrade_with_missing_subdir(sbox): # Attempt to use the working copy, this should give an error expected_stderr = wc_is_too_old_regex - svntest.actions.run_and_verify_svn(None, None, expected_stderr, + svntest.actions.run_and_verify_svn(None, expected_stderr, 'info', sbox.wc_dir) # Now remove a subdirectory @@ -1094,7 +1093,7 @@ def upgrade_with_missing_subdir(sbox): "Upgraded '%s'\n" % sbox.ospath('A/D/G'), "Upgraded '%s'\n" % sbox.ospath('A/D/H'), ]) - svntest.actions.run_and_verify_svn(None, expected_output, [], + svntest.actions.run_and_verify_svn(expected_output, [], 'upgrade', sbox.wc_dir) # And now perform an update. (This used to fail with an assertion) @@ -1122,7 +1121,7 @@ def upgrade_locked(sbox): replace_sbox_with_tarfile(sbox, 'upgrade_locked.tar.bz2') - svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir) + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) expected_status = svntest.wc.State(sbox.wc_dir, { @@ -1145,21 +1144,21 @@ def upgrade_file_externals(sbox): '07146bbd-0b64-4aaf-ab70-cd76a0df2d41') expected_output = svntest.verify.RegexOutput('r2 committed.*') - svntest.actions.run_and_verify_svnmucc(None, expected_output, [], + svntest.actions.run_and_verify_svnmucc(expected_output, [], '-m', 'r2', 'propset', 'svn:externals', '^/A/B/E EX\n^/A/mu muX', sbox.repo_url + '/A/B/F') expected_output = svntest.verify.RegexOutput('r3 committed.*') - svntest.actions.run_and_verify_svnmucc(None, expected_output, [], + svntest.actions.run_and_verify_svnmucc(expected_output, [], '-m', 'r3', 'propset', 'svn:externals', '^/A/B/F FX\n^/A/B/lambda lambdaX', sbox.repo_url + '/A/C') expected_output = svntest.verify.RegexOutput('r4 committed.*') - svntest.actions.run_and_verify_svnmucc(None, expected_output, [], + svntest.actions.run_and_verify_svnmucc(expected_output, [], '-m', 'r4', 'propset', 'pname1', 'pvalue1', sbox.repo_url + '/A/mu', @@ -1168,8 +1167,8 @@ def upgrade_file_externals(sbox): 'propset', 'pname3', 'pvalue3', sbox.repo_url + '/A/B/E/alpha') - svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir) - svntest.actions.run_and_verify_svn(None, None, [], 'relocate', + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) + svntest.actions.run_and_verify_svn(None, [], 'relocate', 'file:///tmp/repo', sbox.repo_url, sbox.wc_dir) @@ -1214,10 +1213,10 @@ def upgrade_missing_replaced(sbox): sbox.build(create_wc=False) replace_sbox_with_tarfile(sbox, 'upgrade_missing_replaced.tar.bz2') - svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir) + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) svntest.main.run_svnadmin('setuuid', sbox.repo_dir, 'd7130b12-92f6-45c9-9217-b9f0472c3fab') - svntest.actions.run_and_verify_svn(None, None, [], 'relocate', + svntest.actions.run_and_verify_svn(None, [], 'relocate', 'file:///tmp/repo', sbox.repo_url, sbox.wc_dir) @@ -1240,7 +1239,7 @@ def upgrade_missing_replaced(sbox): svntest.actions.run_and_verify_update(sbox.wc_dir, expected_output, None, expected_status) - svntest.actions.run_and_verify_svn(None, 'Reverted.*', [], 'revert', '-R', + svntest.actions.run_and_verify_svn('Reverted.*', [], 'revert', '-R', sbox.wc_dir) expected_status = svntest.actions.get_virginal_state(sbox.wc_dir, 1) # And verify that the state is now valid in both the entries an status world. @@ -1253,10 +1252,10 @@ def upgrade_not_present_replaced(sbox): sbox.build(create_wc=False) replace_sbox_with_tarfile(sbox, 'upgrade_not_present_replaced.tar.bz2') - svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir) + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) svntest.main.run_svnadmin('setuuid', sbox.repo_dir, 'd7130b12-92f6-45c9-9217-b9f0472c3fab') - svntest.actions.run_and_verify_svn(None, None, [], 'relocate', + svntest.actions.run_and_verify_svn(None, [], 'relocate', 'file:///tmp/repo', sbox.repo_url, sbox.wc_dir) @@ -1279,15 +1278,15 @@ def upgrade_from_1_7_conflict(sbox): # The working copy contains a text conflict, and upgrading such # a working copy used to cause a pointless 'upgrade required' error. - svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir) + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) def do_iprops_upgrade(nonrootfile, rootfile, sbox): wc_dir = sbox.wc_dir replace_sbox_with_tarfile(sbox, nonrootfile) - svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir) - svntest.actions.run_and_verify_svn(None, None, [], 'relocate', + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) + svntest.actions.run_and_verify_svn(None, [], 'relocate', 'file:///tmp/repo', sbox.repo_url, wc_dir) expected_output = [] @@ -1334,8 +1333,8 @@ def do_iprops_upgrade(nonrootfile, rootfile, sbox): # Now try with a repository root working copy replace_sbox_with_tarfile(sbox, rootfile) - svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir) - svntest.actions.run_and_verify_svn(None, None, [], 'relocate', + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) + svntest.actions.run_and_verify_svn(None, [], 'relocate', 'file:///tmp/repo', sbox.repo_url, wc_dir) # Unswitched inherited props available after upgrade @@ -1418,7 +1417,7 @@ def changelist_upgrade_1_6(sbox): svntest.main.run_svnadmin('setuuid', sbox.repo_dir, 'aa4c97bd-2e1a-4e55-a1e5-3db22cff2673') replace_sbox_with_tarfile(sbox, 'changelist_upgrade_1_6.tar.bz2') - svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir) + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) exit_code, output, errput = svntest.main.run_svn(None, 'info', sbox.wc_dir, '--depth', 'infinity', @@ -1437,8 +1436,9 @@ def upgrade_1_7_dir_external(sbox): # This fails for 'make check EXCLUSIVE_WC_LOCKS=1' giving an error: # svn: warning: W200033: sqlite[S5]: database is locked - svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir) + svntest.actions.run_and_verify_svn(None, [], 'upgrade', sbox.wc_dir) +@SkipUnless(svntest.wc.python_sqlite_can_read_wc) def auto_analyze(sbox): """automatic SQLite ANALYZE""" @@ -1480,6 +1480,90 @@ def auto_analyze(sbox): if val != [(1,)]: raise svntest.Failure("analyze failed") +def upgrade_1_0_with_externals(sbox): + "test upgrading 1.0.0 working copy with externals" + + sbox.build(create_wc = False) + replace_sbox_with_tarfile(sbox, 'upgrade_1_0_with_externals.tar.bz2') + + url = sbox.repo_url + + # This is non-canonical by the rules of svn_uri_canonicalize, it gets + # written into the entries file and upgrade has to canonicalize. + non_canonical_url = url[:-1] + '%%%02x' % ord(url[-1]) + xml_entries_relocate(sbox.wc_dir, 'file:///1.0.0/repos', non_canonical_url) + + externals_propval = 'exdir_G ' + sbox.repo_url + '/A/D/G' + '\n' + adm_name = svntest.main.get_admin_name() + dir_props_file = os.path.join(sbox.wc_dir, adm_name, 'dir-props') + svntest.main.file_write(dir_props_file, + ('K 13\n' + 'svn:externals\n' + 'V %d\n' % len(externals_propval)) + + externals_propval + '\nEND\n', 'wb') + + # Attempt to use the working copy, this should give an error + expected_stderr = wc_is_too_old_regex + svntest.actions.run_and_verify_svn(None, expected_stderr, + 'info', sbox.wc_dir) + + + # Now upgrade the working copy + svntest.actions.run_and_verify_svn(None, [], + 'upgrade', sbox.wc_dir) + # And the separate working copy below COPIED or check_format() fails + svntest.actions.run_and_verify_svn(None, [], + 'upgrade', + os.path.join(sbox.wc_dir, 'COPIED', 'G')) + + # Actually check the format number of the upgraded working copy + check_format(sbox, get_current_format()) + + # Now check the contents of the working copy + # #### This working copy is not just a basic tree, + # fix with the right data once we get here + expected_status = svntest.wc.State(sbox.wc_dir, + { + '' : Item(status=' M', wc_rev=7), + 'B' : Item(status=' ', wc_rev='7'), + 'B/mu' : Item(status=' ', wc_rev='7'), + 'B/D' : Item(status=' ', wc_rev='7'), + 'B/D/H' : Item(status=' ', wc_rev='7'), + 'B/D/H/psi' : Item(status=' ', wc_rev='7'), + 'B/D/H/omega' : Item(status=' ', wc_rev='7'), + 'B/D/H/zeta' : Item(status='MM', wc_rev='7'), + 'B/D/H/chi' : Item(status=' ', wc_rev='7'), + 'B/D/gamma' : Item(status=' ', wc_rev='9'), + 'B/D/G' : Item(status=' ', wc_rev='7'), + 'B/D/G/tau' : Item(status=' ', wc_rev='7'), + 'B/D/G/rho' : Item(status=' ', wc_rev='7'), + 'B/D/G/pi' : Item(status=' ', wc_rev='7'), + 'B/B' : Item(status=' ', wc_rev='7'), + 'B/B/lambda' : Item(status=' ', wc_rev='7'), + 'MKDIR' : Item(status='A ', wc_rev='0'), + 'MKDIR/MKDIR' : Item(status='A ', wc_rev='0'), + 'A' : Item(status=' ', wc_rev='7'), + 'A/B' : Item(status=' ', wc_rev='7'), + 'A/B/lambda' : Item(status=' ', wc_rev='7'), + 'A/D' : Item(status=' ', wc_rev='7'), + 'A/D/G' : Item(status=' ', wc_rev='7'), + 'A/D/G/rho' : Item(status=' ', wc_rev='7'), + 'A/D/G/pi' : Item(status=' ', wc_rev='7'), + 'A/D/G/tau' : Item(status=' ', wc_rev='7'), + 'A/D/H' : Item(status=' ', wc_rev='7'), + 'A/D/H/psi' : Item(status=' ', wc_rev='7'), + 'A/D/H/omega' : Item(status=' ', wc_rev='7'), + 'A/D/H/zeta' : Item(status=' ', wc_rev='7'), + 'A/D/H/chi' : Item(status=' ', wc_rev='7'), + 'A/D/gamma' : Item(status=' ', wc_rev='7'), + 'A/mu' : Item(status=' ', wc_rev='7'), + 'iota' : Item(status=' ', wc_rev='7'), + 'COPIED' : Item(status=' ', wc_rev='10'), + 'DELETED' : Item(status='D ', wc_rev='10'), + 'exdir_G' : Item(status='X '), + }) + run_and_verify_status_no_server(sbox.wc_dir, expected_status) + ######################################################################## # Run the tests @@ -1537,6 +1621,7 @@ test_list = [ None, changelist_upgrade_1_6, upgrade_1_7_dir_external, auto_analyze, + upgrade_1_0_with_externals, ] |