pub unsafe extern "C" fn svn_client_info4(
abspath_or_url: *const c_char,
peg_revision: *const svn_opt_revision_t,
revision: *const svn_opt_revision_t,
depth: svn_depth_t,
fetch_excluded: svn_boolean_t,
fetch_actual_only: svn_boolean_t,
include_externals: svn_boolean_t,
changelists: *const apr_array_header_t,
receiver: svn_client_info_receiver2_t,
receiver_baton: *mut c_void,
ctx: *mut svn_client_ctx_t,
scratch_pool: *mut apr_pool_t,
) -> *mut svn_error_t
Expand description
Invoke @a receiver with @a receiver_baton to return information about @a abspath_or_url in @a revision. The information returned is system-generated metadata, not the sort of “property” metadata created by users. See #svn_client_info2_t.
If both revision arguments are either #svn_opt_revision_unspecified or @c NULL, then information will be pulled solely from the working copy; no network connections will be made.
Otherwise, information will be pulled from a repository. The actual node revision selected is determined by the @a abspath_or_url 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.
If @a abspath_or_url is not a local path, then if @a revision is of kind #svn_opt_revision_previous (or some other kind that requires a local path), an error will be returned, because the desired revision cannot be determined.
Use the authentication baton cached in @a ctx to authenticate against the repository.
If @a abspath_or_url is a file, just invoke @a receiver on it. If it is a directory, then descend according to @a depth. If @a depth is #svn_depth_empty, invoke @a receiver on @a abspath_or_url and nothing else; if #svn_depth_files, on @a abspath_or_url and its immediate file children; if #svn_depth_immediates, the preceding plus on each immediate subdirectory; if #svn_depth_infinity, then recurse fully, invoking @a receiver on @a abspath_or_url and everything beneath it.
If @a fetch_excluded is TRUE, also also send excluded nodes in the working copy to @a receiver, otherwise these are skipped. If @a fetch_actual_only is TRUE also send nodes that don’t exist as versioned but are still tree conflicted.
If @a include_externals is @c TRUE, recurse into externals and report about them as well.
@a changelists is an array of const char * changelist names, used as a restrictive filter on items whose info is reported; that is, don’t report info about 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.
@since New in 1.9.