pub unsafe extern "C" fn svn_client_propget5(
props: *mut *mut apr_hash_t,
inherited_props: *mut *mut apr_array_header_t,
propname: *const c_char,
target: *const c_char,
peg_revision: *const svn_opt_revision_t,
revision: *const svn_opt_revision_t,
actual_revnum: *mut svn_revnum_t,
depth: svn_depth_t,
changelists: *const apr_array_header_t,
ctx: *mut svn_client_ctx_t,
result_pool: *mut apr_pool_t,
scratch_pool: *mut apr_pool_t,
) -> *mut svn_error_tExpand description
Set @a *props to a hash table whose keys are absolute paths or URLs of items on which property @a propname is explicitly set, and whose values are svn_string_t * representing the property value for @a propname at that path.
If @a inherited_props is not @c NULL, then set @a *inherited_props to a depth-first ordered array of #svn_prop_inherited_item_t * structures representing the properties inherited by @a target. If @a target is a working copy path, then properties inherited by @a target as far as the root of the working copy are obtained from the working copy’s actual property values. Properties inherited from above the working copy root come from the inherited properties cache. If @a target is a URL, then the inherited properties come from the repository. If @a inherited_props is not @c NULL and no inheritable properties are found, then set @a *inherited_props to an empty array.
The #svn_prop_inherited_item_t->path_or_url members of the #svn_prop_inherited_item_t * structures in @a *inherited_props are URLs if @a target is a URL or if @a target is a working copy path but the property represented by the structure is above the working copy root (i.e. the inherited property is from the cache). In all other cases the #svn_prop_inherited_item_t->path_or_url members are absolute working copy paths.
Allocate @a *props (including keys and values) and @a *inherited_props (including its elements) in @a result_pool, use @a scratch_pool for temporary allocations.
@a target is a WC absolute path or a URL.
Don’t store any path, not even @a target, if it does not have a property named @a propname.
If @a revision->kind is #svn_opt_revision_unspecified, then: get properties from the working copy if @a target is a working copy path, or from the repository head if @a target is a URL. Else get the properties as of @a revision. The actual node revision selected is determined by the path as it exists in @a peg_revision. If @a peg_revision->kind is #svn_opt_revision_unspecified, then it defaults to #svn_opt_revision_head for URLs or #svn_opt_revision_working for WC targets. Use the authentication baton in @a ctx for authentication if contacting the repository. If @a actual_revnum is not @c NULL, the actual revision number used for the fetch is stored in @a *actual_revnum.
If @a depth is #svn_depth_empty, fetch the property from @a target only; if #svn_depth_files, fetch from @a target and its file children (if any); if #svn_depth_immediates, from @a target and all of its immediate children (both files and directories); if #svn_depth_infinity, from @a target and everything beneath it.
@a changelists is an array of const char * changelist names, used as a restrictive filter on items whose properties are gotten; that is, don’t get @a propname on any item unless it’s a member of one of those changelists. If @a changelists is empty (or altogether @c NULL), no changelist filtering occurs.
If error, don’t touch @a *props, otherwise @a *props is a hash table even if empty.
This function returns SVN_ERR_UNVERSIONED_RESOURCE when it is called on unversioned nodes.
@since New in 1.8.