You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2010/02/02 12:39:48 UTC
svn commit: r905587 -
/subversion/trunk/subversion/tests/cmdline/update_tests.py
Author: rhuijben
Date: Tue Feb 2 11:39:48 2010
New Revision: 905587
URL: http://svn.apache.org/viewvc?rev=905587&view=rev
Log:
This patch adds a very simple testcase to support issue #3569:
I can summarize this issue by:
$ svn up --depth files <directory>
$ svn up <directory>
You would expect that the last 'svn up' makes the working copy 'complete',
but you will see that this case misses all new child directories added
before the 'svn up --depth <below-dir-depth>'.
The more generic case 'svn up --depth empty <directory>' is tested in
this new testcase as it is a very simple to build testcase that just
checks the inner issue.
(This issue is triggered by AnkhSVN users via a file selector UI where
you can also choose to update directories with depth empty)
* subversion/tests/cmdline/update_tests.py
(update_empty_hides_entries): New function.
(test_list): Add test
Modified:
subversion/trunk/subversion/tests/cmdline/update_tests.py
Modified: subversion/trunk/subversion/tests/cmdline/update_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/update_tests.py?rev=905587&r1=905586&r2=905587&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/update_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/update_tests.py Tue Feb 2 11:39:48 2010
@@ -4864,6 +4864,76 @@
expected_disk,
expected_status)
+#----------------------------------------------------------------------
+# Test for issue #3659 svn update --depth <DEPTH> allows making a working
+# copy incomplete.
+#
+# XFail until issue #3659 is fixed. This test needs extension to map some
+# real use cases (all add operations are missing if a directory is updated
+# without its children.)
+def update_empty_hides_entries(sbox):
+ "svn up --depth empty hides entries for next update"
+ sbox.build()
+ wc_dir = sbox.wc_dir
+
+ expected_disk_empty = []
+ expected_status_empty = []
+
+ expected_disk = svntest.main.greek_state.copy()
+ expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
+
+ # Update to revision 0 - Removes all files from WC
+ svntest.actions.run_and_verify_update(wc_dir,
+ None,
+ expected_disk_empty,
+ expected_status_empty,
+ None, None, None,
+ None, None, 1,
+ '-r', '0',
+ wc_dir)
+
+ # Now update back to HEAD
+ svntest.actions.run_and_verify_update(wc_dir,
+ None,
+ expected_disk,
+ expected_status,
+ None, None, None,
+ None, None, 1,
+ wc_dir)
+
+ # Update to revision 0 - Removes all files from WC
+ svntest.actions.run_and_verify_update(wc_dir,
+ None,
+ expected_disk_empty,
+ expected_status_empty,
+ None, None, None,
+ None, None, 1,
+ '-r', '0',
+ wc_dir)
+
+ # Update the directory itself back to HEAD
+ svntest.actions.run_and_verify_update(wc_dir,
+ None,
+ expected_disk_empty,
+ expected_status_empty,
+ None, None, None,
+ None, None, 1,
+ '--depth', 'empty',
+ wc_dir)
+
+ # Now update the rest back to head
+
+ # This operation is currently a NO-OP, because the WC-Crawler
+ # tells the repository that it contains a full tree of the HEAD
+ # revision.
+ svntest.actions.run_and_verify_update(wc_dir,
+ None,
+ expected_disk,
+ expected_status,
+ None, None, None,
+ None, None, 1,
+ wc_dir)
+
#######################################################################
# Run the tests
@@ -4931,6 +5001,7 @@
set_deep_depth_on_target_with_shallow_children,
update_wc_of_dir_to_rev_not_containing_this_dir,
XFail(update_deleted_locked_files),
+ XFail(update_empty_hides_entries),
]
if __name__ == '__main__':