-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
As of now, after excluding a DIR using `--set-depth', for eg, `svn up
- --set-depth=exclude foo', its possible to redefine foo's depth only as
infinity and not as (empty|files|immediates). Attached herewith is the
patch to enable the same.
[[[
Log:
Make `--set-depth (empty|files|immediates) DIR' work, where DIR's depth
had already been set as `exclude'. Only `infinity' works as of now.
* subversion/libsvn_wc/crop.c
(svn_wc_crop_tree2): Check the 'base status' of the node here and
remove the check done using `svn_wc__db_node_hidden()' as it
marks a node as 'hidden' if status is set as
`svn_wc__db_status_excluded'.
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/
iQEVAwUBSy+wpnlTqcY7ytmIAQKYcgf+I6w/YLdNGVmZT+8XPFARQZtPR16keFoo
21QuyEvW354bbvcl7v91oT5mO6yFj6CD60wHcWOBR5fbDPIC7LWpfoJjnZo1KR5a
MeQoea8pFJNWNh0vcQzyXpuFA7pE1gMQInx5x9zpX4AfsNbWssPfax/ytQJae0Sk
TF/U5gHVt+lZza8v5ca6rkR5eWTQecCtnWdR1kspOHH4aAVeYjpeaQ4eRq6BhFFW
Ysozq/z2svLcYWQcvUoQVEjyT/+1JXSb9yftchtNtmVD1mGy+jlhPwvg+mBURcAo
ctLTmgkTwWnx1oyg1CHTxNGElpndCKv3RBhFBams9HcbOufKXXqE7g==
=8dKL
-----END PGP SIGNATURE-----
Index: subversion/libsvn_wc/crop.c
===================================================================
--- subversion/libsvn_wc/crop.c (revision 892767)
+++ subversion/libsvn_wc/crop.c (working copy)
@@ -335,17 +335,6 @@
_("Can only crop a working copy with a restrictive depth"));
{
- svn_boolean_t hidden;
- SVN_ERR(svn_wc__db_node_hidden(&hidden, db, local_abspath, scratch_pool));
-
- if (hidden)
- return svn_error_createf(SVN_ERR_WC_PATH_NOT_FOUND, NULL,
- _("The node '%s' was not found."),
- svn_dirent_local_style(local_abspath,
- scratch_pool));
- }
-
- {
svn_wc__db_status_t status;
svn_wc__db_kind_t kind;
@@ -360,6 +349,13 @@
return svn_error_create(SVN_ERR_UNSUPPORTED_FEATURE, NULL,
_("Can only crop directories"));
+ if (status == svn_wc__db_status_absent
+ || status == svn_wc__db_status_not_present)
+ return svn_error_createf(SVN_ERR_WC_PATH_NOT_FOUND, NULL,
+ _("The node '%s' was not found."),
+ svn_dirent_local_style(local_abspath,
+ scratch_pool));
+
if (status == svn_wc__db_status_deleted ||
status == svn_wc__db_status_obstructed_delete)
return svn_error_createf(SVN_ERR_UNSUPPORTED_FEATURE, NULL,