You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2011/02/17 19:49:54 UTC

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

Author: stsp
Date: Thu Feb 17 18:49:53 2011
New Revision: 1071745

URL: http://svn.apache.org/viewvc?rev=1071745&view=rev
Log:
Follow-up to r1071739:

Add a new test for externals on locally added directories.

* subversion/tests/cmdline/externals_tests.py
  (update_external_on_locally_added_dir, test_list): 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=1071745&r1=1071744&r2=1071745&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/externals_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/externals_tests.py Thu Feb 17 18:49:53 2011
@@ -1575,6 +1575,44 @@ def update_modify_file_external(sbox):
                                         None, None, None, None, None,
                                         True)
 
+def update_external_on_locally_added_dir(sbox):
+  "update an external on a locally added dir"
+
+  external_url_for = externals_test_setup(sbox)
+  wc_dir         = sbox.wc_dir
+
+  repo_url       = sbox.repo_url
+  other_repo_url = repo_url + ".other"
+
+  # Checkout a working copy
+  svntest.actions.run_and_verify_svn(None, None, [],
+                                     'checkout',
+                                     repo_url, wc_dir)
+
+  # Add one new external item to the property on A/foo.  The new item is
+  # "exdir_E", deliberately added in the middle not at the end.
+  new_externals_desc = \
+           external_url_for["A/D/exdir_A"] + " exdir_A"           + \
+           "\n"                                                   + \
+           external_url_for["A/D/exdir_A/G/"] + " exdir_A/G/"     + \
+           "\n"                                                   + \
+           "exdir_E           " + other_repo_url + "/A/B/E"       + \
+           "\n"                                                   + \
+           "exdir_A/H -r 1 " + external_url_for["A/D/exdir_A/H"]  + \
+           "\n"                                                   + \
+           external_url_for["A/D/x/y/z/blah"] + " x/y/z/blah"     + \
+           "\n"
+
+  # Add A/foo and set the property on it
+  new_dir = sbox.ospath("A/foo")
+  sbox.simple_mkdir("A/foo")
+  change_external(new_dir, new_externals_desc, commit=False)
+
+  # Update the working copy, see if we get the new item.
+  svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir)
+
+  probe_paths_exist([os.path.join(wc_dir, "A", "foo", "exdir_E")])
+
 ########################################################################
 # Run the tests
 
@@ -1606,6 +1644,7 @@ test_list = [ None,
               wc_repos_file_externals,
               merge_target_with_externals,
               update_modify_file_external,
+              update_external_on_locally_added_dir,
              ]
 
 if __name__ == '__main__':