-----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 <[email protected]>
]]]
- --
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,