You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ph...@apache.org on 2015/01/15 17:06:03 UTC

svn commit: r1652152 - /subversion/trunk/subversion/tests/cmdline/externals_tests.py

Author: philip
Date: Thu Jan 15 16:06:02 2015
New Revision: 1652152

URL: http://svn.apache.org/r1652152
Log:
* subversion/tests/cmdline/externals_tests.py
  (replace_tree_with_foreign_external): XFAIL regression test for issue 4550.
  (test_list): Add new test.

Modified:
    subversion/trunk/subversion/tests/cmdline/externals_tests.py

Modified: subversion/trunk/subversion/tests/cmdline/externals_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/externals_tests.py?rev=1652152&r1=1652151&r2=1652152&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/externals_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/externals_tests.py Thu Jan 15 16:06:02 2015
@@ -3505,6 +3505,49 @@ def copy_file_external_to_repo(sbox):
   svntest.actions.run_and_verify_update(wc_dir,
                                         expected_output, expected_disk, None)
 
+@Issue(4550)
+@XFail()
+def replace_tree_with_foreign_external(sbox):
+  "replace tree with foreign external"
+
+  sbox.build()
+  wc_dir = sbox.wc_dir
+  repo_dir = sbox.repo_dir
+
+  other_repo_dir, other_repo_url = sbox.add_repo_path('other')
+  svntest.main.copy_repos(repo_dir, other_repo_dir, 1)
+
+  sbox.simple_propset('svn:externals', other_repo_url + '/A/B X', 'A')
+  sbox.simple_commit()
+  sbox.simple_propdel('svn:externals', 'A')
+  sbox.simple_mkdir('A/X')
+  sbox.simple_mkdir('A/X/E')
+  sbox.simple_commit()
+  sbox.simple_update()
+
+  expected_output = svntest.wc.State(wc_dir, {
+      'A/X'         : Item(status='D '),
+      'A'           : Item(status=' U'),
+      'A/X/lambda'  : Item(status='A '),
+      'A/X/E'       : Item(status='A '),
+      'A/X/E/alpha' : Item(status='A '),
+      'A/X/E/beta'  : Item(status='A '),
+      'A/X/F'       : Item(status='A '),
+      })
+  expected_status = svntest.actions.get_virginal_state(wc_dir, 2)
+  expected_status.add({
+    'A/X'         : Item(status='  ', wc_rev=1, prev_status='X '),
+    'A/X/E'       : Item(status='  ', wc_rev=1, prev_status='  '),
+    'A/X/E/alpha' : Item(status='  ', wc_rev=1),
+    'A/X/E/beta'  : Item(status='  ', wc_rev=1),
+    'A/X/F'       : Item(status='  ', wc_rev=1),
+    'A/X/lambda'  : Item(status='  ', wc_rev=1),
+    })
+  svntest.actions.run_and_verify_update(wc_dir,
+                                        expected_output, None, expected_status,
+                                        None, None, None, None, None, 1,
+                                        '-r', '2', wc_dir)
+
 ########################################################################
 # Run the tests
 
@@ -3564,6 +3607,7 @@ test_list = [ None,
               update_deletes_file_external,
               switch_relative_externals,
               copy_file_external_to_repo,
+              replace_tree_with_foreign_external,
              ]
 
 if __name__ == '__main__':