# List / ls
[Client working copy management]

## Typedefs
typedef svn_error_t *(* | svn_client_list_func_t )(void *baton, const char *path, const svn_dirent_t *dirent, const svn_lock_t *lock, const char *abs_path, apr_pool_t *pool)
| The type of function invoked by svn_client_list2() to report the details of each directory entry being listed.
## Functions
svn_error_t * | svn_client_list2 (const char *path_or_url, const svn_opt_revision_t *peg_revision, const svn_opt_revision_t *revision, svn_depth_t depth, apr_uint32_t dirent_fields, svn_boolean_t fetch_locks, svn_client_list_func_t list_func, void *baton, svn_client_ctx_t *ctx, apr_pool_t *pool)
| Report the directory entry, and possibly children, for path_or_url at revision.
svn_error_t * | svn_client_list (const char *path_or_url, const svn_opt_revision_t *peg_revision, const svn_opt_revision_t *revision, svn_boolean_t recurse, apr_uint32_t dirent_fields, svn_boolean_t fetch_locks, svn_client_list_func_t list_func, void *baton, svn_client_ctx_t *ctx, apr_pool_t *pool)
| Similar to svn_client_list2(), but with recurse instead of depth.
svn_error_t * | svn_client_ls3 (apr_hash_t **dirents, apr_hash_t **locks, const char *path_or_url, const svn_opt_revision_t *peg_revision, const svn_opt_revision_t *revision, svn_boolean_t recurse, svn_client_ctx_t *ctx, apr_pool_t *pool)
| Same as svn_client_list(), but always passes SVN_DIRENT_ALL for the dirent_fields argument and returns all information in two hash tables instead of invoking a callback.
svn_error_t * | svn_client_ls2 (apr_hash_t **dirents, const char *path_or_url, const svn_opt_revision_t *peg_revision, const svn_opt_revision_t *revision, svn_boolean_t recurse, svn_client_ctx_t *ctx, apr_pool_t *pool)
| Same as svn_client_ls3(), but without the ability to get locks.
svn_error_t * | svn_client_ls (apr_hash_t **dirents, const char *path_or_url, svn_opt_revision_t *revision, svn_boolean_t recurse, svn_client_ctx_t *ctx, apr_pool_t *pool)
| Similar to svn_client_ls2() except that peg_revision is always the same as revision.

## Typedef Documentation

typedef svn_error_t*(* svn_client_list_func_t)(void *baton, const char *path, const svn_dirent_t *dirent, const svn_lock_t *lock, const char *abs_path, apr_pool_t *pool)

The type of function invoked by svn_client_list2() to report the details of each directory entry being listed.

baton is the baton that was passed to the caller. path is the entry's path relative to abs_path; it is the empty path when reporting the top node of the list operation. dirent contains some or all of the directory entry's details, as determined by the caller. lock is the entry's lock, if it is locked and if lock information is being reported by the caller; otherwise lock is NULL. abs_path is the repository path of the top node of the list operation; it is relative to the repository root and begins with "/". pool may be used for temporary allocations.

Since:
  New in 1.4.

Definition at line 4823 of file svn_client.h.

## Function Documentation

svn_error_t* svn_client_list | ( | const char * | path_or_url,
|  | const svn_opt_revision_t * | peg_revision,
|  | const svn_opt_revision_t * | revision,
|  | svn_boolean_t | recurse,
|  | apr_uint32_t | dirent_fields,
|  | svn_boolean_t | fetch_locks,
|  | svn_client_list_func_t | list_func,
|  | void * | baton,
|  | svn_client_ctx_t * | ctx,
|  | apr_pool_t * | pool |
| ) |  |  |

Similar to svn_client_list2(), but with recurse instead of depth.

If recurse is TRUE, pass svn_depth_files for depth; else pass svn_depth_infinity.

Since:
  New in 1.4.

Deprecated:
  Provided for backward compatibility with the 1.4 API.

svn_error_t* svn_client_list2 | ( | const char * | path_or_url,
|  | const svn_opt_revision_t * | peg_revision,
|  | const svn_opt_revision_t * | revision,
|  | svn_depth_t | depth,
|  | apr_uint32_t | dirent_fields,
|  | svn_boolean_t | fetch_locks,
|  | svn_client_list_func_t | list_func,
|  | void * | baton,
|  | svn_client_ctx_t * | ctx,
|  | apr_pool_t * | pool |
| ) |  |  |

Report the directory entry, and possibly children, for path_or_url at revision.

The actual node revision selected is determined by the path as it exists in peg_revision. If 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 list_func/baton with path relative to path_or_url. The dirent for path_or_url is reported using an empty path. If path_or_url is a directory, also report its children. If path_or_url is non-existent, return SVN_ERR_FS_NOT_FOUND.

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

Use pool for temporary allocations.

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

If depth is svn_depth_empty, list just path_or_url itself. If depth is svn_depth_files, list 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.

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 `SVN_DIRENT_` fields you care about.

Since:
  New in 1.5.

svn_error_t* svn_client_ls | ( | apr_hash_t ** | dirents,
|  | const char * | path_or_url,
|  | svn_opt_revision_t * | revision,
|  | svn_boolean_t | recurse,
|  | svn_client_ctx_t * | ctx,
|  | apr_pool_t * | pool |
| ) |  |  |

Similar to svn_client_ls2() except that peg_revision is always the same as revision.

Deprecated:
  Provided for backward compatibility with the 1.1 API. Use svn_client_list2() instead.

svn_error_t* svn_client_ls2 | ( | apr_hash_t ** | dirents,
|  | const char * | path_or_url,
|  | const svn_opt_revision_t * | peg_revision,
|  | const svn_opt_revision_t * | revision,
|  | svn_boolean_t | recurse,
|  | svn_client_ctx_t * | ctx,
|  | apr_pool_t * | pool |
| ) |  |  |

Same as svn_client_ls3(), but without the ability to get locks.

Since:
  New in 1.2.

Deprecated:
  Provided for backward compatibility with the 1.2 API. Use svn_client_list2() instead.

svn_error_t* svn_client_ls3 | ( | apr_hash_t ** | dirents,
|  | apr_hash_t ** | locks,
|  | const char * | path_or_url,
|  | const svn_opt_revision_t * | peg_revision,
|  | const svn_opt_revision_t * | revision,
|  | svn_boolean_t | recurse,
|  | svn_client_ctx_t * | ctx,
|  | apr_pool_t * | pool |
| ) |  |  |

Same as svn_client_list(), but always passes SVN_DIRENT_ALL for the dirent_fields argument and returns all information in two hash tables instead of invoking a callback.

Set *dirents to a newly allocated hash of directory entries. The dirents hash maps entry names (`const char *`) to svn_dirent_t *'s.

If locks is not `NULL`, set *locks to a hash table mapping entry names (`const char *`) to svn_lock_t *'s.

Since:
  New in 1.3.

Deprecated:
  Provided for backward compatibility with the 1.3 API. Use svn_client_list2() instead.

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines