Return-Path: X-Original-To: apmail-subversion-commits-archive@minotaur.apache.org Delivered-To: apmail-subversion-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 436871786D for ; Wed, 4 Mar 2015 15:56:25 +0000 (UTC) Received: (qmail 5965 invoked by uid 500); 4 Mar 2015 15:56:25 -0000 Delivered-To: apmail-subversion-commits-archive@subversion.apache.org Received: (qmail 5833 invoked by uid 500); 4 Mar 2015 15:56:25 -0000 Mailing-List: contact commits-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@subversion.apache.org Delivered-To: mailing list commits@subversion.apache.org Received: (qmail 5542 invoked by uid 99); 4 Mar 2015 15:56:25 -0000 Received: from eris.apache.org (HELO hades.apache.org) (140.211.11.105) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 Mar 2015 15:56:25 +0000 Received: from hades.apache.org (localhost [127.0.0.1]) by hades.apache.org (ASF Mail Server at hades.apache.org) with ESMTP id 9C0B2AC0840 for ; Wed, 4 Mar 2015 15:56:24 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1664059 [6/11] - in /subversion/branches/reuse-ra-session: ./ build/generator/ doc/ subversion/bindings/javahl/native/ subversion/bindings/swig/ subversion/bindings/swig/include/ subversion/bindings/swig/python/libsvn_swig_py/ subversion/b... Date: Wed, 04 Mar 2015 15:56:21 -0000 To: commits@subversion.apache.org From: ivan@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20150304155624.9C0B2AC0840@hades.apache.org> Modified: subversion/branches/reuse-ra-session/subversion/tests/cmdline/externals_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/tests/cmdline/externals_tests.py?rev=1664059&r1=1664058&r2=1664059&view=diff ============================================================================== --- subversion/branches/reuse-ra-session/subversion/tests/cmdline/externals_tests.py (original) +++ subversion/branches/reuse-ra-session/subversion/tests/cmdline/externals_tests.py Wed Mar 4 15:56:18 2015 @@ -206,8 +206,7 @@ def externals_test_setup(sbox): svntest.actions.run_and_verify_commit(wc_init_dir, expected_output, - expected_status, - None, wc_init_dir) + expected_status) return external_url_for @@ -567,8 +566,7 @@ def update_receive_change_under_external expected_status.tweak('A/D/gamma', wc_rev=6) svntest.actions.run_and_verify_commit(other_wc_dir, expected_output, - expected_status, - None, other_wc_dir) + expected_status) # Now update the regular wc to see if we get the change. Note that # none of the module *properties* in this wc have been changed; only @@ -603,8 +601,7 @@ def update_receive_change_under_external expected_status.tweak('A/D/G/rho', wc_rev=7) svntest.actions.run_and_verify_commit(other_wc_dir, expected_output, - expected_status, - None, other_wc_dir) + expected_status) expected_output = svntest.wc.State(sbox.ospath('A/C'), { 'exdir_G/rho' : Item(status='U '), @@ -1099,8 +1096,7 @@ def cannot_move_or_remove_file_externals }) svntest.actions.run_and_verify_commit(wc_dir, - expected_output, expected_status, - None, wc_dir) + expected_output, expected_status) # Bring the working copy up to date and check that the file the file # external is switched to still exists. @@ -1208,7 +1204,7 @@ def binary_file_externals(sbox): }) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) # Create a file external on the binary file A/theta @@ -1248,8 +1244,7 @@ def binary_file_externals(sbox): expected_output, expected_disk, expected_status, - None, None, None, None, None, - True) + check_props=True) #---------------------------------------------------------------------- @@ -1293,8 +1288,7 @@ def update_lose_file_external(sbox): expected_output, expected_disk, expected_status, - None, None, None, None, None, - True) + check_props=True) # now remove the svn:external prop svntest.actions.run_and_verify_svn(None, [], @@ -1309,7 +1303,7 @@ def update_lose_file_external(sbox): expected_status.tweak('A/C', wc_rev = 3) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) # try to actually get rid of the external via an update expected_output = svntest.wc.State(wc_dir, { @@ -1330,8 +1324,7 @@ def update_lose_file_external(sbox): expected_output, expected_disk, expected_status, - None, None, None, None, None, - True) + check_props=True) probe_paths_missing([sbox.ospath('A/C/external')]) @@ -1478,8 +1471,7 @@ def relegate_external(sbox): expected_output, expected_disk, expected_status, - None, None, None, None, None, - True) + check_props=True) #---------------------------------------------------------------------- @@ -1510,7 +1502,7 @@ def wc_repos_file_externals(sbox): # Commit the new file, creating revision 2. svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) # Create a file external on the file A/theta @@ -1546,8 +1538,7 @@ def wc_repos_file_externals(sbox): expected_output, expected_disk, expected_status, - None, None, None, None, None, - True) + check_props=True) # Copy A/C to a new tag in the repos tag_url = repo_url + '/A/I' @@ -1580,8 +1571,7 @@ def wc_repos_file_externals(sbox): expected_output, expected_disk, expected_status, - None, None, None, None, None, - True) + check_props=True) #---------------------------------------------------------------------- @SkipUnless(svntest.main.server_has_mergeinfo) @@ -1660,8 +1650,7 @@ def update_modify_file_external(sbox): expected_output, expected_disk, expected_status, - None, None, None, None, None, - True) + check_props=True) # Modify A/mu svntest.main.file_append(sbox.ospath('A/mu'), 'appended mu text') @@ -1671,9 +1660,7 @@ def update_modify_file_external(sbox): expected_status.tweak('A/mu', wc_rev=3) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, - None, - wc_dir) + expected_status) # Update to modify the file external, this asserts in update_editor.c expected_output = svntest.wc.State(wc_dir, { @@ -1690,8 +1677,7 @@ def update_modify_file_external(sbox): expected_output, expected_disk, expected_status, - None, None, None, None, None, - True) + check_props=True) # Test for issue #2267 @Issue(2267) @@ -1897,8 +1883,7 @@ def exclude_externals(sbox): # or register the file external as excluded (preferred behavior) svntest.actions.run_and_verify_update(sbox.ospath('A/B/gamma'), None, None, None, - '.*Cannot exclude.*', - None, None, None, None, False, + '.*Cannot exclude.*', False, '--set-depth', 'exclude', sbox.ospath('A/B/gamma')) @@ -1906,8 +1891,7 @@ def exclude_externals(sbox): # or register the directory external as excluded (preferred behavior) svntest.actions.run_and_verify_update(sbox.ospath('A/C/exdir_G'), None, None, None, - '.*Cannot exclude.*', - None, None, None, None, False, + '.*Cannot exclude.*', False, '--set-depth', 'exclude', sbox.ospath('A/C/exdir_G')) @@ -1964,8 +1948,8 @@ def exclude_externals(sbox): 'A/D/x/y/z/blah/F' : Item(status=' ', wc_rev='5'), }) svntest.actions.run_and_verify_update(wc_dir, - None, None, expected_status, None, - None, None, None, None, False, + None, None, expected_status, + [], False, '--set-depth', 'infinity', wc_dir) def file_externals_different_url(sbox): @@ -2008,7 +1992,7 @@ def file_externals_different_url(sbox): svntest.actions.run_and_verify_update(wc_dir, expected_output, None, - expected_status, None) + expected_status) # Verify that all file external URLs are descendants of r1_url for e in ['r1-e-1', 'r1-e-2', 'r2-e-1', 'r2-e-2', 'rr-e-1']: @@ -2026,7 +2010,7 @@ def file_externals_different_url(sbox): svntest.actions.run_and_verify_update(wc_dir, expected_output, None, - expected_status, None) + expected_status) # Verify that all file external URLs are descendants of r2_url for e in ['r1-e-1', 'r1-e-2', 'r2-e-1', 'r2-e-2', 'rr-e-1']: @@ -2111,8 +2095,7 @@ def copy_file_externals(sbox): 'X' : Item(status=' ', wc_rev='2'), }) - actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, wc_dir) + actions.run_and_verify_commit(wc_dir, expected_output, expected_status) # svn up expected_output = svntest.wc.State(wc_dir, { @@ -2134,7 +2117,7 @@ def copy_file_externals(sbox): expected_status.tweak(wc_rev='2') actions.run_and_verify_update(wc_dir, expected_output, expected_disk, - expected_status, None, None, None, None, None, False, wc_dir) + expected_status) # have a commit on one of the files # echo mod >> X/xmu @@ -2148,7 +2131,7 @@ def copy_file_externals(sbox): expected_status.tweak('X/xmu', wc_rev='3') actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, X_xmu) + [], X_xmu) # svn up expected_output = svntest.wc.State(wc_dir, { @@ -2161,7 +2144,7 @@ def copy_file_externals(sbox): expected_status.tweak(wc_rev='3') actions.run_and_verify_update(wc_dir, expected_output, expected_disk, - expected_status, None, None, None, None, None, False, wc_dir) + expected_status) # now perform the WC->WC copy # svn cp X X_copy @@ -2179,8 +2162,7 @@ def copy_file_externals(sbox): 'X_copy' : Item(status=' ', wc_rev='4'), }) - actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, wc_dir) + actions.run_and_verify_commit(wc_dir, expected_output, expected_status) # verify disk state, also verifying props expected_disk.add({ @@ -2209,7 +2191,7 @@ def copy_file_externals(sbox): expected_status.tweak(wc_rev='4') actions.run_and_verify_update(wc_dir, expected_output, expected_disk, - expected_status, None, None, None, None, None, True, wc_dir) + expected_status, check_props=True) def commit_include_externals(sbox): "commit --include-externals" @@ -2284,8 +2266,7 @@ def commit_include_externals(sbox): 'Xpegged' : Item(status=' ', wc_rev='2'), }) - actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, wc_dir) + actions.run_and_verify_commit(wc_dir, expected_output, expected_status) # svn up expected_output = svntest.wc.State(wc_dir, {}) @@ -2302,7 +2283,7 @@ def commit_include_externals(sbox): expected_status.tweak(wc_rev='2') actions.run_and_verify_update(wc_dir, expected_output, expected_disk, - expected_status, None, None, None, None, None, False, wc_dir) + expected_status) # svn ps svn:externals "^/Z xZ" A/D/H expected_stdout = ["property 'svn:externals' set on '" + A_D_H + "'\n"] @@ -2389,8 +2370,7 @@ def commit_include_externals(sbox): expected_status.tweak('', 'A/D/H', wc_rev='3') - actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, wc_dir) + actions.run_and_verify_commit(wc_dir, expected_output, expected_status) # svn up expected_output = svntest.wc.State(wc_dir, { @@ -2459,7 +2439,7 @@ def commit_include_externals(sbox): expected_status.tweak('Xpegged/xiota', wc_rev='1') actions.run_and_verify_update(wc_dir, expected_output, expected_disk, - expected_status, None, None, None, None, None, False, wc_dir) + expected_status) # echo mod >> Xpegged/xE/alpha main.file_append(Xpegged_xE_alpha, 'mod\n') @@ -2490,22 +2470,21 @@ def commit_include_externals(sbox): # svn ci expected_output = svntest.wc.State(wc_dir, {}) - actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, wc_dir) + actions.run_and_verify_commit(wc_dir, expected_output, expected_status) # Expect no externals to be committed, because pegged # svn ci --include-externals Xpegged expected_output = svntest.wc.State(wc_dir, {}) actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, '--include-externals', Xpegged) + [], '--include-externals', Xpegged) # Expect no externals to be committed, because of depth # svn ci --depth=immediates --include-externals expected_output = svntest.wc.State(wc_dir, {}) actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, '--depth=immediates', '--include-externals', wc_dir) + [], '--depth=immediates', '--include-externals', wc_dir) # Expect only unpegged externals to be committed (those in X/) # svn ci --include-externals @@ -2524,7 +2503,7 @@ def commit_include_externals(sbox): expected_status.tweak('Xpegged/xE/alpha', status='M ') actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, '--include-externals', wc_dir) + [], '--include-externals', wc_dir) # svn up expected_output = svntest.wc.State(wc_dir, { @@ -2556,7 +2535,7 @@ def commit_include_externals(sbox): 'Xpegged/xE/beta', wc_rev=1) actions.run_and_verify_update(wc_dir, expected_output, expected_disk, - expected_status, None, None, None, None, None, False, wc_dir) + expected_status) # new mods to check more cases # echo mod >> X/xmu @@ -2585,7 +2564,7 @@ def commit_include_externals(sbox): expected_output = svntest.wc.State(wc_dir, {}) actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, '--include-externals', '--depth=empty', X) + [], '--include-externals', '--depth=empty', X) # Expect only file external xmu to be committed, because of depth # svn ci --include-externals --depth=files X @@ -2599,7 +2578,7 @@ def commit_include_externals(sbox): 'X/Y/xH/xZ/zeta', 'Xpegged/xE/alpha', status='M ') actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, '--include-externals', '--depth=files', X) + [], '--include-externals', '--depth=files', X) # svn status actions.run_and_verify_unquiet_status(wc_dir, expected_status) @@ -2628,7 +2607,7 @@ def commit_include_externals(sbox): expected_status.tweak('X/Y/xH/chi', status='M ') actions.run_and_verify_update(wc_dir, expected_output, expected_disk, - expected_status, None, None, None, None, None, False, wc_dir) + expected_status) # echo mod >> X/xG/pi main.file_append(X_xG_pi, 'mod\n') @@ -2649,7 +2628,7 @@ def commit_include_externals(sbox): status='M ') actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, X_Y_xlambda, X_xG) + [], X_Y_xlambda, X_xG) # svn status actions.run_and_verify_unquiet_status(wc_dir, expected_status) @@ -2700,8 +2679,7 @@ def include_immediate_dir_externals(sbox 'X' : Item(status=' ', wc_rev='2'), }) - actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, wc_dir) + actions.run_and_verify_commit(wc_dir, expected_output, expected_status) # svn up expected_output = svntest.wc.State(wc_dir, {}) @@ -2714,7 +2692,7 @@ def include_immediate_dir_externals(sbox expected_status.tweak(wc_rev='2') actions.run_and_verify_update(wc_dir, expected_output, expected_disk, - expected_status, None, None, None, None, None, False, wc_dir) + expected_status) # svn ps svn:externals "^/A/B/E X/XE" wc_dir expected_stdout = ["property 'svn:externals' set on '" + wc_dir + "'\n"] @@ -2729,8 +2707,7 @@ def include_immediate_dir_externals(sbox expected_status.tweak('', wc_rev='3') - actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, wc_dir) + actions.run_and_verify_commit(wc_dir, expected_output, expected_status) # svn up expected_output = svntest.wc.State(wc_dir, { @@ -2752,7 +2729,7 @@ def include_immediate_dir_externals(sbox }) actions.run_and_verify_update(wc_dir, expected_output, expected_disk, - expected_status, None, None, None, None, None, False, wc_dir) + expected_status) sbox.simple_propset('some', 'change', 'X/XE') @@ -2785,7 +2762,7 @@ def include_immediate_dir_externals(sbox # # > actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, '--include-externals', '--depth=immediates', X) + [], '--include-externals', '--depth=immediates', X) @Issue(4085) @@ -2879,8 +2856,7 @@ def dir_external_with_dash_r_only(sbox): expected_status = actions.get_virginal_state(wc_dir, 1) expected_status.tweak('A/B/E/alpha', wc_rev='2') - actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, wc_dir) + actions.run_and_verify_commit(wc_dir, expected_output, expected_status) # svn ps svn:externals ' -r1 ^/A/B/E E_ext' . expected_stdout = ["property 'svn:externals' set on '" + wc_dir + "'\n"] @@ -2911,7 +2887,7 @@ def dir_external_with_dash_r_only(sbox): }) actions.run_and_verify_update(wc_dir, expected_output, expected_disk, - expected_status, None, None, None, None, None, False, wc_dir) + expected_status) # svn info E_ext/alpha expected_info = { 'Revision': '1' } @@ -3205,7 +3181,7 @@ def update_dir_external_shallow(sbox): }) svntest.actions.run_and_verify_update(sbox.wc_dir, expected_output, None, None, - None, None, None, None, None, False, + [], False, '--set-depth=empty', sbox.ospath('A/B/E')) @@ -3219,7 +3195,7 @@ def update_dir_external_shallow(sbox): }) svntest.actions.run_and_verify_update(sbox.wc_dir, expected_output, None, None, - None, None, None, None, None, False, + [], False, '--set-depth=infinity', sbox.ospath('A/B/E')) @@ -3537,7 +3513,7 @@ def replace_tree_with_foreign_external(s }) svntest.actions.run_and_verify_update(wc_dir, expected_output, None, expected_status, - None, None, None, None, None, 1, + [], True, '-r', '2', wc_dir) @@ -4040,7 +4016,7 @@ def copy_pin_externals_whitepace_dir(sbo 'branches/wc-wc/ext/A P R/about' : Item(status=' ', wc_rev='4'), }) svntest.actions.run_and_verify_update(wc_dir + '/branches', expected_output, - None, expected_status, []) + None, expected_status) # Now let's use our existing setup to perform some copies with dynamic # destinations @@ -4110,6 +4086,75 @@ def nested_notification(sbox): svntest.actions.run_and_verify_svn(expected_output, [], 'update', sbox.ospath('D1')) +def file_external_to_normal_file(sbox): + "change a file external to a normal file" + + sbox.build() + wc_dir = sbox.wc_dir + sbox.simple_propset('svn:externals', '^/iota iota', 'A') + sbox.simple_commit() + + expected_status = svntest.actions.get_virginal_state(wc_dir, 2) + expected_status.add({ + 'A/iota' : Item(status=' ', wc_rev='2', switched='X'), + }) + expected_output = svntest.wc.State(wc_dir, { + 'A/iota' : Item(status='A '), + }) + + svntest.actions.run_and_verify_update(wc_dir, expected_output, None, + expected_status) + + # Create second working copy in this state + sbox2 = sbox.clone_dependent(copy_wc=True) + + sbox.simple_propdel('svn:externals', 'A') + + expected_output = svntest.wc.State(wc_dir, { + 'A/iota' : Item(verb='Removed external'), + }) + expected_status.remove('A/iota') + expected_status.tweak('A', status=' M') + svntest.actions.run_and_verify_update(wc_dir, expected_output, None, + expected_status) + + sbox.simple_copy('iota', 'A/iota') + sbox.simple_commit() + + expected_output = svntest.wc.State(wc_dir, { + }) + expected_status.tweak(wc_rev=3) + expected_status.tweak('A', status=' ') + expected_status.add({ + # This case used to triggered a switched status in 1.8.x before this + # test (and the fix for this problem) where added. + 'A/iota' : Item(status=' ', wc_rev='3'), + }) + svntest.actions.run_and_verify_update(wc_dir, expected_output, None, + expected_status) + + + wc_dir = sbox2.wc_dir + + expected_status = svntest.actions.get_virginal_state(wc_dir, 3) + expected_output = svntest.wc.State(wc_dir, { + 'A' : Item(status=' U'), + 'A/iota' : Item(verb='Removed external', prev_verb='Skipped'), + }) + # This reports an obstruction and removes the file external + svntest.actions.run_and_verify_update(wc_dir, expected_output, None, + expected_status) + + expected_status.add({ + 'A/iota' : Item(status=' ', wc_rev='3'), + }) + expected_output = svntest.wc.State(wc_dir, { + 'A/iota' : Item(status='A '), + }) + # This should bring in the new file + svntest.actions.run_and_verify_update(wc_dir, expected_output, None, + expected_status) + ######################################################################## # Run the tests @@ -4183,6 +4228,7 @@ test_list = [ None, copy_pin_externals_wc_mixed_revisions, copy_pin_externals_whitepace_dir, nested_notification, + file_external_to_normal_file, ] if __name__ == '__main__': Modified: subversion/branches/reuse-ra-session/subversion/tests/cmdline/history_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/tests/cmdline/history_tests.py?rev=1664059&r1=1664058&r2=1664059&view=diff ============================================================================== --- subversion/branches/reuse-ra-session/subversion/tests/cmdline/history_tests.py (original) +++ subversion/branches/reuse-ra-session/subversion/tests/cmdline/history_tests.py Wed Mar 4 15:56:18 2015 @@ -70,9 +70,7 @@ def cat_traces_renames(sbox): svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, - None, - wc_dir) + expected_status) # rename pi to rho. commit r3. svntest.main.run_svn(None, 'mv', pi_path, rho_path) @@ -93,9 +91,7 @@ def cat_traces_renames(sbox): svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, - None, - wc_dir) + expected_status) # update whole wc to HEAD expected_output = svntest.wc.State(wc_dir, { }) # no output Modified: subversion/branches/reuse-ra-session/subversion/tests/cmdline/import_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/tests/cmdline/import_tests.py?rev=1664059&r1=1664058&r2=1664059&view=diff ============================================================================== --- subversion/branches/reuse-ra-session/subversion/tests/cmdline/import_tests.py (original) +++ subversion/branches/reuse-ra-session/subversion/tests/cmdline/import_tests.py Wed Mar 4 15:56:18 2015 @@ -126,8 +126,7 @@ def import_executable(sbox): expected_output, expected_disk, expected_status, - None, None, None, - None, None, 1) + check_props=True) #---------------------------------------------------------------------- def import_ignores(sbox): @@ -197,8 +196,7 @@ def import_ignores(sbox): expected_output, expected_disk, expected_status, - None, None, None, - None, None, 1) + check_props=True) #---------------------------------------------------------------------- def import_no_ignores(sbox): @@ -272,8 +270,7 @@ def import_no_ignores(sbox): expected_output, expected_disk, expected_status, - None, None, None, - None, None, 1) + check_props=True) #---------------------------------------------------------------------- def import_avoid_empty_revision(sbox): "avoid creating empty revisions with import" Modified: subversion/branches/reuse-ra-session/subversion/tests/cmdline/info_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/tests/cmdline/info_tests.py?rev=1664059&r1=1664058&r2=1664059&view=diff ============================================================================== --- subversion/branches/reuse-ra-session/subversion/tests/cmdline/info_tests.py (original) +++ subversion/branches/reuse-ra-session/subversion/tests/cmdline/info_tests.py Wed Mar 4 15:56:18 2015 @@ -516,7 +516,7 @@ def binary_tree_conflict(sbox): }) svntest.actions.run_and_verify_update(iota, expected_output, None, expected_status, - None, None, None, None, None, False, + [], False, iota, '-r', '2') expected_info = [{ @@ -636,6 +636,117 @@ def node_hidden_info(sbox): sbox.ospath('E/beta')) +def info_item_simple(sbox): + "show one info item" + + sbox.build(read_only=True) + svntest.actions.run_and_verify_svn( + '1', [], + 'info', '--show-item=revision', '--no-newline', + sbox.ospath('')) + + +def info_item_simple_multiple(sbox): + "show one info item with multiple targets" + + sbox.build(read_only=True) + + svntest.actions.run_and_verify_svn( + r'^jrandom\s+\S+(/|\\)info_tests-\d+((/|\\)[^/\\]+)?$', [], + 'info', '--show-item=last-changed-author', + '--depth=immediates', sbox.ospath('')) + + svntest.actions.run_and_verify_svn( + r'^1\s+\S+(/|\\)info_tests-\d+(/|\\)[^/\\]+$', [], + 'info', '--show-item=last-changed-revision', + sbox.ospath('A'), sbox.ospath('iota')) + + +def info_item_url(sbox): + "show one info item with URL targets" + + sbox.build(create_wc=False, read_only=True) + + svntest.actions.run_and_verify_svn( + '1', [], + 'info', '--show-item=last-changed-revision', + sbox.repo_url) + + + svntest.actions.run_and_verify_svn( + r'^1\s+[^/:]+://.+/repos/[^/]+$', [], + 'info', '--show-item=last-changed-revision', + sbox.repo_url + '/A', sbox.repo_url + '/iota') + + + # Empty working copy root on URL targets + svntest.actions.run_and_verify_svn( + '', [], + 'info', '--show-item=wc-root', + sbox.repo_url) + + +def info_item_uncommmitted(sbox): + "show one info item on uncommitted targets" + + sbox.build() + + svntest.main.file_write(sbox.ospath('newfile'), 'newfile') + sbox.simple_add('newfile') + sbox.simple_mkdir('newdir') + + svntest.actions.run_and_verify_svn( + '', [], + 'info', '--show-item=last-changed-revision', + sbox.ospath('newfile')) + + svntest.actions.run_and_verify_svn( + '', [], + 'info', '--show-item=last-changed-author', + sbox.ospath('newdir')) + + svntest.actions.run_and_verify_svn( + r'\s+\S+(/|\\)new(file|dir)', [], + 'info', '--show-item=last-changed-date', + sbox.ospath('newfile'), sbox.ospath('newdir')) + + svntest.actions.run_and_verify_svn( + r'\^/new(file|dir)\s+\S+(/|\\)new(file|dir)', [], + 'info', '--show-item=relative-url', + sbox.ospath('newfile'), sbox.ospath('newdir')) + + +def info_item_failures(sbox): + "failure modes of 'svn info --show-item'" + + sbox.build(read_only=True) + + svntest.actions.run_and_verify_svn( + None, r'.*E200009:.*', + 'info', '--show-item=revision', + sbox.ospath('not-there')) + + svntest.actions.run_and_verify_svn( + None, r".*E205000: .*; did you mean 'wc-root'\?", + 'info', '--show-item=root', + sbox.ospath('')) + + svntest.actions.run_and_verify_svn( + None, (r".*E205000: --show-item is not valid in --xml mode"), + 'info', '--show-item=revision', '--xml', + sbox.ospath('')) + + svntest.actions.run_and_verify_svn( + None, (r".*E205000: --incremental is only valid in --xml mode"), + 'info', '--show-item=revision', '--incremental', + sbox.ospath('')) + + svntest.actions.run_and_verify_svn( + None, (r".*E205000: --no-newline is only available.*"), + 'info', '--show-item=revision', '--no-newline', + sbox.ospath('A'), sbox.ospath('iota')) + + ######################################################################## # Run the tests @@ -652,6 +763,11 @@ test_list = [ None, binary_tree_conflict, relpath_escaping, node_hidden_info, + info_item_simple, + info_item_simple_multiple, + info_item_url, + info_item_uncommmitted, + info_item_failures, ] if __name__ == '__main__': Modified: subversion/branches/reuse-ra-session/subversion/tests/cmdline/input_validation_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/tests/cmdline/input_validation_tests.py?rev=1664059&r1=1664058&r2=1664059&view=diff ============================================================================== --- subversion/branches/reuse-ra-session/subversion/tests/cmdline/input_validation_tests.py (original) +++ subversion/branches/reuse-ra-session/subversion/tests/cmdline/input_validation_tests.py Wed Mar 4 15:56:18 2015 @@ -266,14 +266,14 @@ def delete_repos_root(sbox): svntest.actions.run_and_verify_switch(sbox.wc_dir, sbox.ospath('A/D/G'), repo_url, None, None, expected_status, - None, None, None, None, None, None, + [], False, '--set-depth', 'empty', '--ignore-ancestry') expected_status.tweak('A/B/F', switched='S') svntest.actions.run_and_verify_switch(sbox.wc_dir, sbox.ospath('A/B/F'), repo_url, None, None, expected_status, - None, None, None, None, None, None, + [], False, '--depth', 'empty', '--ignore-ancestry') # Delete the wcroot (which happens to be the repository root) Modified: subversion/branches/reuse-ra-session/subversion/tests/cmdline/lock_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/tests/cmdline/lock_tests.py?rev=1664059&r1=1664058&r2=1664059&view=diff ============================================================================== --- subversion/branches/reuse-ra-session/subversion/tests/cmdline/lock_tests.py (original) +++ subversion/branches/reuse-ra-session/subversion/tests/cmdline/lock_tests.py Wed Mar 4 15:56:18 2015 @@ -176,9 +176,7 @@ def commit_file_unlock(sbox): # Make sure both iota an mu are unlocked, but only mu is bumped svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, - None, - wc_dir) + expected_status) #---------------------------------------------------------------------- def commit_propchange(sbox): @@ -896,7 +894,7 @@ def lock_uri_encoded(sbox): svntest.actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, + [], file_path) svntest.actions.run_and_verify_svn(".*locked by user", [], 'lock', @@ -1215,9 +1213,7 @@ def info_moved_path(sbox): expected_status.remove("iota") svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, - None, - wc_dir) + expected_status) # Create a new, unrelated iota, creating r3. svntest.main.file_append(fname, "Another iota") @@ -1231,9 +1227,7 @@ def info_moved_path(sbox): }) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, - None, - wc_dir) + expected_status) # Lock the new iota. svntest.actions.run_and_verify_svn(".*locked by user", [], @@ -1274,9 +1268,7 @@ def ls_url_encoded(sbox): }) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, - None, - wc_dir) + expected_status) # Lock the file. svntest.actions.run_and_verify_svn(".*locked by user", @@ -1343,7 +1335,7 @@ def examine_lock_encoded_recurse(sbox): svntest.actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, + [], file_path) # lock the file and validate the contents @@ -1838,8 +1830,7 @@ def commit_stolen_lock(sbox): svntest.actions.run_and_verify_commit(wc_dir, [], expected_status, - err_re, - wc_dir) + err_re) # When removing directories, the locks of contained files were not # correctly removed from the working copy database, thus they later @@ -1863,9 +1854,7 @@ def drop_locks_on_parent_deletion(sbox): svntest.actions.run_and_verify_commit(wc_dir, [], - expected_status, - None, - wc_dir) + expected_status) # now re-add entities to the deleted pathes. sbox.simple_mkdir('A/B') @@ -1886,9 +1875,7 @@ def drop_locks_on_parent_deletion(sbox): svntest.actions.run_and_verify_commit(wc_dir, [], - expected_status, - None, - wc_dir) + expected_status) def copy_with_lock(sbox): @@ -1917,9 +1904,7 @@ def copy_with_lock(sbox): # copy source and so the commit fails. svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, - None, - wc_dir) + expected_status) def lock_hook_messages(sbox): "verify (un)lock message is transferred correctly" @@ -2338,8 +2323,7 @@ def lock_commit_bump(sbox): svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, - None, wc_dir) + expected_status) # We explicitly check both the Revision and Last Changed Revision. expected_infos = [ { @@ -2397,9 +2381,16 @@ def delete_dir_with_lots_of_locked_files svntest.actions.run_and_verify_svn(None, [], 'lock', '-m', 'All locks', *locked_paths) - # Locally delete A + # Locally delete A (regression against earlier versions, which + # always used a special non-standard request) sbox.simple_rm("A") + # But a further replacement never worked + sbox.simple_mkdir("A") + # And an additional propset didn't work either + # (but doesn't require all lock tokens recursively) + sbox.simple_propset("k", "v", "A") + # Commit the deletion # XFAIL: As of 1.8.10, this commit fails with: # svn: E175002: Unexpected HTTP status 400 'Bad Request' on '' Modified: subversion/branches/reuse-ra-session/subversion/tests/cmdline/log_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/tests/cmdline/log_tests.py?rev=1664059&r1=1664058&r2=1664059&view=diff ============================================================================== --- subversion/branches/reuse-ra-session/subversion/tests/cmdline/log_tests.py (original) +++ subversion/branches/reuse-ra-session/subversion/tests/cmdline/log_tests.py Wed Mar 4 15:56:18 2015 @@ -1474,7 +1474,7 @@ def retrieve_revprops(sbox): svntest.actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, + [], '-m', msg2, omega_path) @@ -1646,8 +1646,7 @@ def merge_sensitive_log_added_mergeinfo_ expected_disk, expected_status, expected_skip, - None, None, None, None, - None, 1) + check_props=True) # Commit the merge. expected_output = svntest.wc.State(wc_dir, { @@ -1661,8 +1660,7 @@ def merge_sensitive_log_added_mergeinfo_ 'A_COPY/D/H/omega', 'A_COPY/D/H/psi', wc_rev=7) - svntest.actions.run_and_verify_commit(wc_dir, expected_output, wc_status, - None, wc_dir) + svntest.actions.run_and_verify_commit(wc_dir, expected_output, wc_status) wc_disk.tweak("A_COPY/D", props={SVN_PROP_MERGEINFO : '/A/D:2-6'}) wc_disk.tweak("A_COPY/D/G/rho", "A_COPY/D/H/omega", "A_COPY/D/H/psi", @@ -1702,7 +1700,7 @@ def merge_sensitive_log_added_mergeinfo_ expected_elision_output, expected_disk, expected_status, expected_skip, - None, None, None, None, None, 1) + check_props=True) # Commit the merge. expected_output = svntest.wc.State(wc_dir, { @@ -1712,8 +1710,7 @@ def merge_sensitive_log_added_mergeinfo_ wc_status.tweak('A_COPY/D/H', 'A_COPY/D/H/psi', wc_rev=8) - svntest.actions.run_and_verify_commit(wc_dir, expected_output, wc_status, - None, wc_dir) + svntest.actions.run_and_verify_commit(wc_dir, expected_output, wc_status) wc_disk.tweak("A_COPY/D/H", props={SVN_PROP_MERGEINFO : '/A/D:2,4-6'}) wc_disk.tweak("A_COPY/D/G/rho", "A_COPY/D/H/omega", "A_COPY/D/H/psi", Modified: subversion/branches/reuse-ra-session/subversion/tests/cmdline/merge_authz_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/tests/cmdline/merge_authz_tests.py?rev=1664059&r1=1664058&r2=1664059&view=diff ============================================================================== --- subversion/branches/reuse-ra-session/subversion/tests/cmdline/merge_authz_tests.py (original) +++ subversion/branches/reuse-ra-session/subversion/tests/cmdline/merge_authz_tests.py Wed Mar 4 15:56:18 2015 @@ -194,8 +194,7 @@ def mergeinfo_and_skipped_paths(sbox): expected_disk, expected_status, expected_skip, - None, None, None, None, - None, 1) + check_props=True) # Merge r4:8 into the restricted WC's A_COPY_2. # @@ -270,8 +269,7 @@ def mergeinfo_and_skipped_paths(sbox): expected_disk, expected_status, expected_skip, - None, None, None, None, - None, 1, 0) + check_props=True) # Merge r5:7 into the restricted WC's A_COPY_3. # @@ -335,8 +333,7 @@ def mergeinfo_and_skipped_paths(sbox): expected_disk, expected_status, expected_skip, - None, None, None, None, - None, 1, 0) + check_props=True) svntest.actions.run_and_verify_svn(None, [], 'revert', '--recursive', wc_restricted) @@ -379,8 +376,8 @@ def mergeinfo_and_skipped_paths(sbox): expected_disk, expected_status, expected_skip, - None, None, None, None, - None, 1, 0, '-c5', '-c8', + [], True, False, + '-c5', '-c8', A_COPY_2_H_path) # Test issue #2829 'Improve handling for skipped paths encountered @@ -395,7 +392,7 @@ def mergeinfo_and_skipped_paths(sbox): expected_output = wc.State(wc_dir, {'A/D/H/zeta' : Item(verb='Adding')}) wc_status.add({'A/D/H/zeta' : Item(status=' ', wc_rev=9)}) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - wc_status, None, wc_dir) + wc_status) # Merge -r7:9 to the restricted WC's A_COPY_2/D/H. # @@ -436,8 +433,7 @@ def mergeinfo_and_skipped_paths(sbox): expected_disk, expected_status, expected_skip, - None, None, None, None, - None, 1, 0) + check_props=True) # Merge -r4:9 to the restricted WC's A_COPY_2/D/H. # @@ -483,8 +479,7 @@ def mergeinfo_and_skipped_paths(sbox): expected_disk, expected_status, expected_skip, - None, None, None, None, - None, 1, 0) + check_props=True) @SkipUnless(server_has_mergeinfo) @Issue(2876) @@ -526,7 +521,7 @@ def merge_fails_if_subtree_is_deleted_on # Commit the new content svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) svntest.actions.run_and_verify_svn(None, [], 'cp', A_url, Acopy_url, '-m', 'create a new copy of A') @@ -566,7 +561,7 @@ def merge_fails_if_subtree_is_deleted_on }) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) # Delete A/D/gamma from working copy svntest.actions.run_and_verify_svn(None, [], 'delete', gamma_path) @@ -580,7 +575,7 @@ def merge_fails_if_subtree_is_deleted_on svntest.actions.run_and_verify_commit(wc_dir, expected_output, expected_status, - None, + [], wc_dir, wc_dir) svntest.actions.run_and_verify_svn( expected_merge_output([[3,4]], @@ -640,7 +635,7 @@ def reintegrate_fails_if_no_root_access( expected_output = wc.State(wc_dir, {'A_COPY/mu' : Item(verb='Sending')}) expected_status.tweak('A_COPY/mu', wc_rev=7) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) expected_disk.tweak('A_COPY/mu', contents='Changed on the branch.') # Update the WC. @@ -731,8 +726,7 @@ def reintegrate_fails_if_no_root_access( expected_disk, expected_status, expected_skip, - None, None, None, None, - None, True, True, + [], True, True, '--reintegrate', A_path) def diff_unauth_parent(sbox): Modified: subversion/branches/reuse-ra-session/subversion/tests/cmdline/merge_automatic_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/tests/cmdline/merge_automatic_tests.py?rev=1664059&r1=1664058&r2=1664059&view=diff ============================================================================== --- subversion/branches/reuse-ra-session/subversion/tests/cmdline/merge_automatic_tests.py (original) +++ subversion/branches/reuse-ra-session/subversion/tests/cmdline/merge_automatic_tests.py Wed Mar 4 15:56:18 2015 @@ -980,8 +980,8 @@ def merge_to_reverse_cherry_subtree_to_m expected_disk, expected_status, expected_skip, - None, None, None, None, - None, 1, 0, A_COPY_path) + [], True, False, + A_COPY_path) #---------------------------------------------------------------------- # Automatic merges should notice ancestory for replaced files @@ -1073,8 +1073,8 @@ def merge_replacement(sbox): expected_disk, expected_status, expected_skip, - None, None, None, None, - None, 1, 0, A_path) + [], True, False, + A_path) @SkipUnless(server_has_mergeinfo) @Issue(4313) Modified: subversion/branches/reuse-ra-session/subversion/tests/cmdline/merge_reintegrate_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/tests/cmdline/merge_reintegrate_tests.py?rev=1664059&r1=1664058&r2=1664059&view=diff ============================================================================== --- subversion/branches/reuse-ra-session/subversion/tests/cmdline/merge_reintegrate_tests.py (original) +++ subversion/branches/reuse-ra-session/subversion/tests/cmdline/merge_reintegrate_tests.py Wed Mar 4 15:56:18 2015 @@ -86,7 +86,7 @@ def run_and_verify_reintegrate(tgt_dir, mergeinfo_output_tree, elision_output_tree, disk_tree, status_tree, skip_tree, - error_re_string = None, + expected_stderr = [], check_props = True, dry_run = True): """Run 'svn merge --reintegrate SRC_URL TGT_DIR'. Raise an error if @@ -98,8 +98,7 @@ def run_and_verify_reintegrate(tgt_dir, tgt_dir, None, None, src_url, None, output_tree, mergeinfo_output_tree, elision_output_tree, disk_tree, status_tree, skip_tree, - error_re_string, - None, None, None, None, check_props, dry_run, + expected_stderr, check_props, dry_run, '--reintegrate', tgt_dir) @@ -122,7 +121,7 @@ def basic_reintegrate(sbox): expected_output = wc.State(wc_dir, {'A_COPY/mu' : Item(verb='Sending')}) expected_status.tweak('A_COPY/mu', wc_rev=7) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) expected_disk.tweak('A_COPY/mu', contents='Changed on the branch.') # Update the wcs. @@ -130,7 +129,7 @@ def basic_reintegrate(sbox): expected_status.tweak(wc_rev='7') svntest.actions.run_and_verify_update(wc_dir, expected_output, expected_disk, expected_status, - None, None, None, None, None, True) + check_props=True) # Merge from trunk to branch (ie, r3-6), using normal cherry-harvest. A_COPY_path = sbox.ospath('A_COPY') @@ -196,8 +195,7 @@ def basic_reintegrate(sbox): k_expected_disk, k_expected_status, expected_skip, - None, None, None, None, - None, True) + [], True) expected_disk.tweak('A_COPY', props={SVN_PROP_MERGEINFO: '/A:2-7'}) expected_disk.tweak('A_COPY/B/E/beta', contents="New content") expected_disk.tweak('A_COPY/D/G/rho', contents="New content") @@ -215,14 +213,14 @@ def basic_reintegrate(sbox): expected_status.tweak('A_COPY', 'A_COPY/D/H/psi', 'A_COPY/D/G/rho', 'A_COPY/B/E/beta', 'A_COPY/D/H/omega', wc_rev=8) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) # Update the wcs again. expected_output = wc.State(wc_dir, {}) expected_status.tweak(wc_rev='8') svntest.actions.run_and_verify_update(wc_dir, expected_output, expected_disk, expected_status, - None, None, None, None, None, True) + check_props=True) # *finally*, actually run merge --reintegrate in trunk with the @@ -268,7 +266,7 @@ def basic_reintegrate(sbox): k_expected_disk, k_expected_status, expected_skip, - None, True, True) + [], True, True) # Test issue #3640: # @@ -325,7 +323,7 @@ def basic_reintegrate(sbox): k_expected_disk, expected_status, expected_skip, - None, True, True) + [], True, True) #---------------------------------------------------------------------- @SkipUnless(server_has_mergeinfo) @@ -343,7 +341,7 @@ def reintegrate_with_rename(sbox): expected_output = wc.State(wc_dir, {'A_COPY/mu' : Item(verb='Sending')}) expected_status.tweak('A_COPY/mu', wc_rev=7) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) expected_disk.tweak('A_COPY/mu', contents='Changed on the branch.') # Update the wcs. @@ -351,7 +349,7 @@ def reintegrate_with_rename(sbox): expected_status.tweak(wc_rev='7') svntest.actions.run_and_verify_update(wc_dir, expected_output, expected_disk, expected_status, - None, None, None, None, None, True) + check_props=True) # Merge from trunk to branch (ie, r3-6), using normal cherry-harvest. A_COPY_path = sbox.ospath('A_COPY') @@ -417,8 +415,7 @@ def reintegrate_with_rename(sbox): k_expected_disk, k_expected_status, expected_skip, - None, None, None, None, - None, True) + [], True) expected_disk.tweak('A_COPY', props={SVN_PROP_MERGEINFO: '/A:2-7'}) expected_disk.tweak('A_COPY/B/E/beta', contents="New content") expected_disk.tweak('A_COPY/D/G/rho', contents="New content") @@ -436,7 +433,7 @@ def reintegrate_with_rename(sbox): expected_status.tweak('A_COPY', 'A_COPY/D/H/psi', 'A_COPY/D/G/rho', 'A_COPY/B/E/beta', 'A_COPY/D/H/omega', wc_rev=8) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) # Update the wcs again. @@ -474,7 +471,7 @@ def reintegrate_with_rename(sbox): expected_status.tweak(wc_rev='8') svntest.actions.run_and_verify_update(wc_dir, expected_output, expected_disk, expected_status, - None, None, None, None, None, True) + check_props=True) # Make another change on the branch: copy tau to tauprime. Commit # in r9. @@ -500,7 +497,7 @@ def reintegrate_with_rename(sbox): expected_status.tweak(wc_rev='9') svntest.actions.run_and_verify_update(wc_dir, expected_output, expected_disk, expected_status, - None, None, None, None, None, True) + check_props=True) # *finally*, actually run merge --reintegrate in trunk with the # branch URL. This should bring in the mu change and the tauprime @@ -553,7 +550,7 @@ def reintegrate_with_rename(sbox): k_expected_disk, k_expected_status, expected_skip, - None, True, True) + [], True, True) # Finally, commit the result of the merge (r10). expected_output = wc.State(wc_dir, { @@ -566,7 +563,7 @@ def reintegrate_with_rename(sbox): }) expected_status.tweak('A', 'A/mu', wc_rev=10) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) #---------------------------------------------------------------------- @SkipUnless(server_has_mergeinfo) @@ -584,7 +581,7 @@ def reintegrate_branch_never_merged_to(s expected_output = wc.State(wc_dir, {'A_COPY/mu' : Item(verb='Sending')}) expected_status.tweak('A_COPY/mu', wc_rev=7) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) expected_disk.tweak('A_COPY/mu', contents='Changed on the branch.') # Update the wcs. @@ -592,7 +589,7 @@ def reintegrate_branch_never_merged_to(s expected_status.tweak(wc_rev='7') svntest.actions.run_and_verify_update(wc_dir, expected_output, expected_disk, expected_status, - None, None, None, None, None, True) + check_props=True) # Make another change on the branch: copy tau to tauprime. Commit # in r8. @@ -606,7 +603,7 @@ def reintegrate_branch_never_merged_to(s }) expected_status.add({'A_COPY/D/G/tauprime': Item(status=' ', wc_rev=8)}) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) expected_disk.add({ 'A_COPY/D/G/tauprime' : Item(contents="This is the file 'tau'.\n") }) @@ -617,7 +614,7 @@ def reintegrate_branch_never_merged_to(s expected_status.tweak(wc_rev='8') svntest.actions.run_and_verify_update(wc_dir, expected_output, expected_disk, expected_status, - None, None, None, None, None, True) + check_props=True) # *finally*, actually run merge --reintegrate in trunk with the # branch URL. This should bring in the mu change and the tauprime @@ -685,7 +682,7 @@ def reintegrate_branch_never_merged_to(s k_expected_disk, k_expected_status, expected_skip, - None, True, True) + [], True, True) # Finally, commit the result of the merge (r9). expected_output = wc.State(wc_dir, { @@ -698,7 +695,7 @@ def reintegrate_branch_never_merged_to(s }) expected_status.tweak('A', 'A/mu', wc_rev=9) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) #---------------------------------------------------------------------- @SkipUnless(server_has_mergeinfo) @@ -717,10 +714,11 @@ def reintegrate_fail_on_modified_wc(sbox sbox.simple_commit() svntest.main.file_write(mu_path, "Changed on 'trunk' (the merge target).") + expected_skip = wc.State(wc_dir, {}) sbox.simple_update() # avoid mixed-revision error run_and_verify_reintegrate( A_path, sbox.repo_url + '/A_COPY', None, None, None, - None, None, None, + None, None, expected_skip, ".*Cannot merge into a working copy that has local modifications.*", True, False) @@ -740,11 +738,12 @@ def reintegrate_fail_on_mixed_rev_wc(sbo }) expected_status.tweak('A/mu', wc_rev=7) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) + expected_skip = wc.State(wc_dir, {}) # Try merging into that same wc, expecting failure. run_and_verify_reintegrate( A_path, sbox.repo_url + '/A_COPY', None, None, None, - None, None, None, + None, None, expected_skip, ".*Cannot merge into mixed-revision working copy.*", True, False) @@ -806,12 +805,13 @@ def reintegrate_fail_on_switched_wc(sbox expected_output, expected_disk, expected_status, - None, None, None, None, None, + [], False, '--ignore-ancestry') sbox.simple_update() # avoid mixed-revision error + expected_skip = wc.State(wc_dir, {}) run_and_verify_reintegrate( A_path, sbox.repo_url + '/A_COPY', None, None, None, - None, None, None, + None, None, expected_skip, ".*Cannot merge into a working copy with a switched subtree.*", True, False) @@ -892,7 +892,7 @@ def reintegrate_on_shallow_wc(sbox): expected_A_disk, expected_A_status, expected_A_skip, - None, 1, 1) + [], 1, 1) # Now revert the reintegrate and make a second change on the # branch in r4, but this time change a subtree that corresponds @@ -929,7 +929,7 @@ def reintegrate_on_shallow_wc(sbox): expected_A_disk, expected_A_status, expected_A_skip, - None, 1, 1) + [], 1, 1) #---------------------------------------------------------------------- @SkipUnless(server_has_mergeinfo) @@ -1103,7 +1103,7 @@ def reintegrate_with_subtree_mergeinfo(s expected_output = wc.State(wc_dir, {'A_COPY_3/D/gamma' : Item(verb='Sending')}) expected_status.tweak('A_COPY_3/D/gamma', wc_rev=9) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) # r10 - Merge r9 from A_COPY_3/D to A/D, creating explicit subtree # mergeinfo under A. For this and every subsequent merge we update the WC @@ -1121,14 +1121,14 @@ def reintegrate_with_subtree_mergeinfo(s 'A/D/gamma' : Item(verb='Sending')}) expected_status.tweak('A/D', 'A/D/gamma', wc_rev=10) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) # r11 - Make a text change to A_COPY_2/mu svntest.main.file_write(mu_COPY_2_path, "New content") expected_output = wc.State(wc_dir, {'A_COPY_2/mu' : Item(verb='Sending')}) expected_status.tweak('A_COPY_2/mu', wc_rev=11) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) # r12 - Merge r11 from A_COPY_2/mu to A_COPY/mu svntest.actions.run_and_verify_svn(exp_noop_up_out(11), [], 'up', @@ -1143,7 +1143,7 @@ def reintegrate_with_subtree_mergeinfo(s {'A_COPY/mu' : Item(verb='Sending')}) expected_status.tweak('A_COPY/mu', wc_rev=12) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) # r13 - Do a 'synch' cherry harvest merge of all available revisions # from A to A_COPY @@ -1180,14 +1180,14 @@ def reintegrate_with_subtree_mergeinfo(s 'A_COPY/D/gamma', wc_rev=13) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) # r14 - Make a text change on A_COPY/B/E/alpha svntest.main.file_write(alpha_COPY_path, "New content") expected_output = wc.State(wc_dir, {'A_COPY/B/E/alpha' : Item(verb='Sending')}) expected_status.tweak('A_COPY/B/E/alpha', wc_rev=14) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) # Now, reintegrate A_COPY to A. This should succeed. svntest.actions.run_and_verify_svn(exp_noop_up_out(14), [], 'up', @@ -1260,7 +1260,7 @@ def reintegrate_with_subtree_mergeinfo(s expected_A_disk, expected_A_status, expected_A_skip, - None, 1, 1) + [], 1, 1) # Make some more changes to A_COPY so that the same revisions have *not* # been uniformly applied from A to A_COPY. In this case the reintegrate @@ -1293,7 +1293,7 @@ def reintegrate_with_subtree_mergeinfo(s 'A_COPY/D/H/omega' : Item(verb='Sending')}) expected_status.tweak('A_COPY/D', 'A_COPY/D/H/omega', wc_rev=15) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) # Now reintegrate A_COPY back to A. Since A_COPY/D no longer has r8 merged # to it from A, the merge should fail. Further we expect an error message @@ -1393,14 +1393,14 @@ def reintegrate_with_subtree_mergeinfo(s wc_rev=17) expected_status.add({'A_COPY/D/gamma_moved' : Item(status=' ', wc_rev=17)}) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) # r18 - C) Text mod to A/D/gamma_moved svntest.main.file_write(gamma_moved_path, "Even newer content") expected_output = wc.State(wc_dir, {'A/D/gamma_moved' : Item(verb='Sending')}) expected_status.tweak('A/D/gamma_moved', wc_rev=18) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) # r19 - D) Synch merge from A to A_COPY svntest.actions.run_and_verify_svn( @@ -1421,7 +1421,7 @@ def reintegrate_with_subtree_mergeinfo(s 'A_COPY/D/gamma_moved', wc_rev=19) svntest.actions.run_and_verify_commit(wc_dir, expected_output, - expected_status, None, wc_dir) + expected_status) # Reintegrate A_COPY to A, this should work since # A_COPY/D/gamma_moved's natural history, @@ -1529,7 +1529,7 @@ def reintegrate_with_subtree_mergeinfo(s expected_A_disk, expected_A_status, expected_A_skip, - None, 1, 1) + [], 1, 1) #---------------------------------------------------------------------- @SkipUnless(server_has_mergeinfo) @@ -1686,7 +1686,7 @@ def multiple_reintegrates_from_the_same_ expected_disk, expected_status, expected_skip, - None, 1, 1) + [], 1, 1) svntest.actions.run_and_verify_svn(None, [], 'ci', '-m', "2nd Reintegrate feature branch back to 'A'", wc_dir) @@ -1842,7 +1842,7 @@ def reintegrate_with_self_referential_me expected_disk, expected_status, expected_skip, - None, 1, 0) + [], 1, 0) #---------------------------------------------------------------------- # Test for issue #3577 '1.7 subtree mergeinfo recording breaks reintegrate' @@ -1977,7 +1977,7 @@ def reintegrate_with_subtree_merges(sbox expected_A_disk, expected_A_status, expected_A_skip, - None, 1, 1) + [], 1, 1) # Test issue #4329. Revert previous merge and commit a new edit to # A/D/H/psi. Attempt the same merge without the --reintegrate option. @@ -1998,8 +1998,8 @@ def reintegrate_with_subtree_merges(sbox expected_mergeinfo_output, expected_elision_output, expected_A_disk, expected_A_status, - expected_A_skip, None, None, None, - None, None, True, False, A_path) + expected_A_skip, + [], True, False, A_path) #---------------------------------------------------------------------- # Test for issue #3654 'added subtrees with mergeinfo break reintegrate'. @@ -2192,7 +2192,7 @@ def added_subtrees_with_mergeinfo_break_ expected_disk, expected_status, expected_skip, - None, 1, 1) + [], 1, 1) #---------------------------------------------------------------------- # Test for issue #3648 '2-URL merges incorrectly reverse-merge mergeinfo @@ -2350,8 +2350,7 @@ def two_URL_merge_removes_valid_mergeinf expected_disk, expected_status, expected_skip, - None, None, None, None, - None, 1, 1) + [], True, True) #---------------------------------------------------------------------- # Test for issue #3867 'reintegrate merges create mergeinfo for @@ -2438,7 +2437,7 @@ def reintegrate_creates_bogus_mergeinfo( expected_mergeinfo_output, expected_elision_output, expected_disk, None, expected_skip, - None, + [], 1, 1) @@ -2564,7 +2563,7 @@ def no_source_subtree_mergeinfo(sbox): expected_output, expected_mergeinfo, expected_elision, expected_disk, None, expected_skip, - None, + [], 1, 1) #----------------------------------------------------------------------