Attached is the python test for issue 3013. This incorporates the steps
from the shell script attached in the tracker.

Log 
[[[

New XFail test for issue 3013.

* subversion/tests/cmdline/update_tests.py
  (update_after_switching_to_deleted_path, test_list): New XFail test

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
]]]

Thanks and Regards
Noorul

Index: subversion/tests/cmdline/update_tests.py
===================================================================
--- subversion/tests/cmdline/update_tests.py    (revision 1063610)
+++ subversion/tests/cmdline/update_tests.py    (working copy)
@@ -5347,6 +5347,34 @@
   svntest.main.run_svn(None, 'delete', os.path.join('A2', 'mu'))
   svntest.main.run_svn(None, 'update', os.path.join('A2', 'mu'))
 
+### regression test for issue #3013
+def update_after_switching_to_deleted_path(sbox):
+  "update after switching to deleted path"
+  
+  sbox.build()
+  wc_dir = sbox.wc_dir
+  repo_url = sbox.repo_url
+
+  # switch to A/B
+  svntest.actions.run_and_verify_svn2(None, None, [], 0, 'switch',
+                                      repo_url + "/A/B", wc_dir)
+
+  # delete A/D
+  svntest.actions.run_and_verify_svn2(None, None, [], 0, 'rm',
+                                      repo_url + "/A/D", '-m', 
+                                      'Remove A/D')
+
+  # switch to A/D and this is known to fail
+  svntest.actions.run_and_verify_svn2(None, None, svntest.verify.AnyOutput,
+                                      1, 'switch', repo_url + "/A/D", wc_dir)
+
+  # switch to A/D@1 and this is known to succeed
+  svntest.actions.run_and_verify_svn2(None, None, [], 0, 'switch',
+                                      repo_url + "/A/D@1", wc_dir)
+
+  # update should succeed
+  svntest.actions.run_and_verify_svn2(None, None, [], 0, "up", wc_dir)
+
 #######################################################################
 # Run the tests
 
@@ -5412,6 +5440,7 @@
               update_with_excluded_subdir,
               XFail(update_with_file_lock_and_keywords_property_set),
               XFail(update_nonexistent_child_of_copy),
+              XFail(update_after_switching_to_deleted_path),
              ]
 
 if __name__ == '__main__':

Reply via email to