Skip to main content

svn_client_list4

Function svn_client_list4 

Source
pub unsafe extern "C" fn svn_client_list4(
    path_or_url: *const c_char,
    peg_revision: *const svn_opt_revision_t,
    revision: *const svn_opt_revision_t,
    patterns: *const apr_array_header_t,
    depth: svn_depth_t,
    dirent_fields: apr_uint32_t,
    fetch_locks: svn_boolean_t,
    include_externals: svn_boolean_t,
    list_func: svn_client_list_func2_t,
    baton: *mut c_void,
    ctx: *mut svn_client_ctx_t,
    scratch_pool: *mut apr_pool_t,
) -> *mut svn_error_t
Expand description

Report the directory entry, and possibly children, for @a path_or_url at @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.

Report directory entries by invoking @a list_func/@a baton with @a path relative to @a path_or_url. The dirent for @a path_or_url is reported using an empty @a path. If @a path_or_url is a directory, also report its children. If @a path_or_url is non-existent, return #SVN_ERR_FS_NOT_FOUND.

If the @a patterns array of const char * is not @c NULL, only report paths whose last segment matches one of the specified glob patterns. This does not affect the size of the tree nor the number of externals being covered.

If @a fetch_locks is TRUE, include locks when reporting directory entries.

If @a include_externals is TRUE, also list all external items reached by recursion. @a depth value passed to the original list target applies for the externals also.

Use @a scratch_pool for temporary allocations.

Use authentication baton cached in @a ctx to authenticate against the repository.

If @a depth is #svn_depth_empty, list just @a path_or_url itself. If @a depth is #svn_depth_files, list @a path_or_url and its file entries. If #svn_depth_immediates, list its immediate file and directory entries. If #svn_depth_infinity, list file entries and recurse (with #svn_depth_infinity) on directory entries.

@a dirent_fields controls which fields in the #svn_dirent_t’s are filled in. To have them totally filled in use #SVN_DIRENT_ALL, otherwise simply bitwise OR together the combination of @c SVN_DIRENT_ fields you care about.

@since New in 1.10.