-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Kannan wrote: [..]
Attaching herewith is the updated patch, as per Philip's feedback. [[[ Log: Fix issue #3544 -- svn update does not restore excluded files. * subversion/libsvn_wc/update_editor.c (complete_directory): Call `svn_wc__set_depth()' with the requested depth and with `infinity' only when the depth value is `unknown'. * subversion/libsvn_wc/entries.c (fold_entry): Set the default depth of the FILE (as `infinity') had the file been excluded already. * subversion/tests/cmdline/depth_tests.py (excluded_path_update_operation): Remove the obsolete XFail comments. (test_list): Remove the XFail on `excluded_path_update_operation'. Suggested by: philip Patch by: Kannan R <kann...@collab.net> ]]] - -- Thanks & Regards, Kannan -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEVAwUBS0wZU3lTqcY7ytmIAQLizwf8C8o3C5aYTeWNoicACbQErszP9ugtWaZO P95j5KKGUzmt1XAbA6RpDZT77Cjzft3PLy7R+DRDq7VxaBV6aoEGxQZRjyHO/A5L iql0Qwdc3RtBsxAz+YEYkpX0fLpjz15XzwVyMTSnmA9cuyxCEEHrdFH4DURI8/RN 7k2znRNvNY3KzD+XmZ65cA6oLK+0zdcsg/Bgj+6p3iOObAY+pmdLZMzDiga1owbC jQ6YaUPUgmthIgMz22nNrKmT69ut1KdkBWxxoEIkAtCUW7UfkKRVh7gmCST78HdB 3MD31KvCLge+g6RfnkQklk74wY/cmmNBXm9RtAwRGZtaz50271vZiA== =wn7D -----END PGP SIGNATURE-----
Index: subversion/libsvn_wc/update_editor.c =================================================================== --- subversion/libsvn_wc/update_editor.c (revision 897754) +++ subversion/libsvn_wc/update_editor.c (working copy) @@ -706,7 +706,9 @@ else { SVN_ERR(svn_wc__set_depth(eb->db, eb->target_abspath, - svn_depth_infinity, pool)); + eb->requested_depth == svn_depth_unknown + ? svn_depth_infinity + : eb->requested_depth, pool)); } } Index: subversion/libsvn_wc/entries.c =================================================================== --- subversion/libsvn_wc/entries.c (revision 897754) +++ subversion/libsvn_wc/entries.c (working copy) @@ -2605,6 +2605,11 @@ = apr_hash_get(entries, SVN_WC_ENTRY_THIS_DIR, APR_HASH_KEY_STRING); if (default_entry) take_from_entry(default_entry, cur_entry, pool); + + /* We need to bring back the FILE as versioned */ + if (dst->depth == svn_depth_exclude) + dst->depth = svn_depth_infinity; + } /* Cleanup meaningless fields */ Index: subversion/tests/cmdline/depth_tests.py =================================================================== --- subversion/tests/cmdline/depth_tests.py (revision 897754) +++ subversion/tests/cmdline/depth_tests.py (working copy) @@ -2132,7 +2132,6 @@ None, None, None, None, B_path) - # Test issue # # Exclude a file then set depth of WC to infinity, the file should return. expected_output = svntest.wc.State(wc_dir, { 'iota' : Item(status='D '), @@ -2153,9 +2152,6 @@ }) expected_status = svntest.actions.get_virginal_state(wc_dir, 1) expected_disk = svntest.main.greek_state.copy() - # This update currently fails when iota is reported as added, but shows in - # status as unversioned. See issue #3544 'svn update does not restore - # excluded files'. This test is marked as XFail until that issue is fixed. svntest.actions.run_and_verify_update(wc_dir, expected_output, expected_disk, @@ -2537,7 +2533,7 @@ pull_in_tree_with_depth_option, fold_tree_with_unversioned_modified_items, depth_empty_update_on_file, - XFail(excluded_path_update_operation), + excluded_path_update_operation, excluded_path_misc_operation, excluded_receive_remote_removal, exclude_keeps_hidden_entries,