-----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 <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/ 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,