Subversion
Data Structures | Typedefs | Functions
Report interesting information about paths in the working copy.
Client working copy management

Data Structures

struct  svn_client_status_t
 Structure for holding the "status" of a working copy item. More...

Typedefs

typedef struct svn_client_status_t svn_client_status_t
 Structure for holding the "status" of a working copy item.
typedef svn_error_t *(* svn_client_status_func_t )(void *baton, const char *path, const svn_client_status_t *status, apr_pool_t *scratch_pool)
 A callback for reporting a status about path (which may be an absolute or relative path).

Functions

svn_client_status_tsvn_client_status_dup (const svn_client_status_t *status, apr_pool_t *result_pool)
 Return a duplicate of status, allocated in result_pool.
svn_error_tsvn_client_status5 (svn_revnum_t *result_rev, svn_client_ctx_t *ctx, const char *path, const svn_opt_revision_t *revision, svn_depth_t depth, svn_boolean_t get_all, svn_boolean_t update, svn_boolean_t no_ignore, svn_boolean_t ignore_externals, svn_boolean_t depth_as_sticky, const apr_array_header_t *changelists, svn_client_status_func_t status_func, void *status_baton, apr_pool_t *scratch_pool)
 Given path to a working copy directory (or single file), call status_func/status_baton with a set of svn_wc_status_t * structures which describe the status of path, and its children (recursing according to depth).
svn_error_tsvn_client_status4 (svn_revnum_t *result_rev, const char *path, const svn_opt_revision_t *revision, svn_wc_status_func3_t status_func, void *status_baton, svn_depth_t depth, svn_boolean_t get_all, svn_boolean_t update, svn_boolean_t no_ignore, svn_boolean_t ignore_externals, const apr_array_header_t *changelists, svn_client_ctx_t *ctx, apr_pool_t *pool)
 Same as svn_client_status5(), but using svn_wc_status_func3_t instead of svn_client_status_func_t and depth_as_sticky set to TRUE.
svn_error_tsvn_client_status3 (svn_revnum_t *result_rev, const char *path, const svn_opt_revision_t *revision, svn_wc_status_func2_t status_func, void *status_baton, svn_depth_t depth, svn_boolean_t get_all, svn_boolean_t update, svn_boolean_t no_ignore, svn_boolean_t ignore_externals, const apr_array_header_t *changelists, svn_client_ctx_t *ctx, apr_pool_t *pool)
 Same as svn_client_status4(), but using an svn_wc_status_func2_t instead of an svn_wc_status_func3_t.
svn_error_tsvn_client_status2 (svn_revnum_t *result_rev, const char *path, const svn_opt_revision_t *revision, svn_wc_status_func2_t status_func, void *status_baton, svn_boolean_t recurse, svn_boolean_t get_all, svn_boolean_t update, svn_boolean_t no_ignore, svn_boolean_t ignore_externals, svn_client_ctx_t *ctx, apr_pool_t *pool)
 Like svn_client_status3(), except with changelists passed as NULL, and with recurse instead of depth.
svn_error_tsvn_client_status (svn_revnum_t *result_rev, const char *path, svn_opt_revision_t *revision, svn_wc_status_func_t status_func, void *status_baton, svn_boolean_t recurse, svn_boolean_t get_all, svn_boolean_t update, svn_boolean_t no_ignore, svn_client_ctx_t *ctx, apr_pool_t *pool)
 Similar to svn_client_status2(), but with ignore_externals always set to FALSE, taking the svn_wc_status_func_t type instead of the svn_wc_status_func2_t type for status_func, and requiring *revision to be non-const even though it is treated as constant.

Typedef Documentation

typedef svn_error_t*(* svn_client_status_func_t)(void *baton, const char *path, const svn_client_status_t *status, apr_pool_t *scratch_pool)

A callback for reporting a status about path (which may be an absolute or relative path).

baton is a closure object; it should be provided by the implementation, and passed by the caller.

scratch_pool will be cleared between invocations to the callback.

### we might be revamping the status infrastructure, and this callback ### could totally disappear by the end of 1.7 development. however, we ### need to mark the STATUS parameter as "const" so that it is easier ### to reason about who/what can modify those structures.

Since:
New in 1.7.

Definition at line 2237 of file svn_client.h.

Structure for holding the "status" of a working copy item.

Note:
Fields may be added to the end of this structure in future versions. Therefore, to preserve binary compatibility, users should not directly allocate structures of this type.
Since:
New in 1.7.

Function Documentation

svn_error_t* svn_client_status ( svn_revnum_t result_rev,
const char *  path,
svn_opt_revision_t revision,
svn_wc_status_func_t  status_func,
void *  status_baton,
svn_boolean_t  recurse,
svn_boolean_t  get_all,
svn_boolean_t  update,
svn_boolean_t  no_ignore,
svn_client_ctx_t ctx,
apr_pool_t *  pool 
)

Similar to svn_client_status2(), but with ignore_externals always set to FALSE, taking the svn_wc_status_func_t type instead of the svn_wc_status_func2_t type for status_func, and requiring *revision to be non-const even though it is treated as constant.

Deprecated:
Provided for backward compatibility with the 1.1 API.
svn_error_t* svn_client_status2 ( svn_revnum_t result_rev,
const char *  path,
const svn_opt_revision_t revision,
svn_wc_status_func2_t  status_func,
void *  status_baton,
svn_boolean_t  recurse,
svn_boolean_t  get_all,
svn_boolean_t  update,
svn_boolean_t  no_ignore,
svn_boolean_t  ignore_externals,
svn_client_ctx_t ctx,
apr_pool_t *  pool 
)

Like svn_client_status3(), except with changelists passed as NULL, and with recurse instead of depth.

If recurse is TRUE, behave as if for svn_depth_infinity; else if recurse is FALSE, behave as if for svn_depth_immediates.

Since:
New in 1.2.
Deprecated:
Provided for backward compatibility with the 1.4 API.
svn_error_t* svn_client_status3 ( svn_revnum_t result_rev,
const char *  path,
const svn_opt_revision_t revision,
svn_wc_status_func2_t  status_func,
void *  status_baton,
svn_depth_t  depth,
svn_boolean_t  get_all,
svn_boolean_t  update,
svn_boolean_t  no_ignore,
svn_boolean_t  ignore_externals,
const apr_array_header_t *  changelists,
svn_client_ctx_t ctx,
apr_pool_t *  pool 
)

Same as svn_client_status4(), but using an svn_wc_status_func2_t instead of an svn_wc_status_func3_t.

Since:
New in 1.5.
Deprecated:
Provided for backward compatibility with the 1.5 API.
svn_error_t* svn_client_status4 ( svn_revnum_t result_rev,
const char *  path,
const svn_opt_revision_t revision,
svn_wc_status_func3_t  status_func,
void *  status_baton,
svn_depth_t  depth,
svn_boolean_t  get_all,
svn_boolean_t  update,
svn_boolean_t  no_ignore,
svn_boolean_t  ignore_externals,
const apr_array_header_t *  changelists,
svn_client_ctx_t ctx,
apr_pool_t *  pool 
)

Same as svn_client_status5(), but using svn_wc_status_func3_t instead of svn_client_status_func_t and depth_as_sticky set to TRUE.

Since:
New in 1.6.
Deprecated:
Provided for backward compatibility with the 1.6 API.
svn_error_t* svn_client_status5 ( svn_revnum_t result_rev,
svn_client_ctx_t ctx,
const char *  path,
const svn_opt_revision_t revision,
svn_depth_t  depth,
svn_boolean_t  get_all,
svn_boolean_t  update,
svn_boolean_t  no_ignore,
svn_boolean_t  ignore_externals,
svn_boolean_t  depth_as_sticky,
const apr_array_header_t *  changelists,
svn_client_status_func_t  status_func,
void *  status_baton,
apr_pool_t *  scratch_pool 
)

Given path to a working copy directory (or single file), call status_func/status_baton with a set of svn_wc_status_t * structures which describe the status of path, and its children (recursing according to depth).

  • If get_all is set, retrieve all entries; otherwise, retrieve only "interesting" entries (local mods and/or out of date).
  • If update is set, contact the repository and augment the status structures with information about out-of-dateness (with respect to revision). Also, if result_rev is not NULL, set *result_rev to the actual revision against which the working copy was compared (*result_rev is not meaningful unless update is set).

If no_ignore is FALSE, don't report any file or directory (or recurse into any directory) that is found by recursion (as opposed to being the explicit target path) and whose name matches the svn:ignore property on its parent directory or the global-ignores list in ctx->config. If no_ignore is TRUE, report each such file or directory with the status code svn_wc_status_ignored.

If ignore_externals is not set, then recurse into externals definitions (if any exist) after handling the main target. This calls the client notification function (in ctx) with the svn_wc_notify_status_external action before handling each externals definition, and with svn_wc_notify_status_completed after each.

If depth_as_sticky is set and depth is not svn_depth_unknown, then the status is calculated as if depth_is_sticky was passed to an equivalent update command.

changelists is an array of const char * changelist names, used as a restrictive filter on items whose statuses are reported; that is, don't report status about any item unless it's a member of one of those changelists. If changelists is empty (or altogether NULL), no changelist filtering occurs.

If path is an absolute path then the path parameter passed in each call to status_func will be an absolute path.

All temporary allocations are performed in scratch_pool.

Since:
New in 1.7.
svn_client_status_t* svn_client_status_dup ( const svn_client_status_t status,
apr_pool_t *  result_pool 
)

Return a duplicate of status, allocated in result_pool.

No part of the new structure will be shared with status.

Since:
New in 1.7.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines