Subversion
|
The update Reporter. More...
#include <svn_ra.h>
Data Fields | |
svn_error_t *(* | set_path )(void *report_baton, const char *path, svn_revnum_t revision, svn_depth_t depth, svn_boolean_t start_empty, const char *lock_token, apr_pool_t *pool) |
Describe a working copy path as being at a particular revision and having depth depth. | |
svn_error_t *(* | delete_path )(void *report_baton, const char *path, apr_pool_t *pool) |
Describing a working copy path as missing. | |
svn_error_t *(* | link_path )(void *report_baton, const char *path, const char *url, svn_revnum_t revision, svn_depth_t depth, svn_boolean_t start_empty, const char *lock_token, apr_pool_t *pool) |
Like set_path(), but differs in that path in the working copy (relative to the root of the report driver) isn't a reflection of path in the repository (relative to the URL specified when opening the RA layer), but is instead a reflection of a different repository url at revision, and has depth depth. | |
svn_error_t *(* | finish_report )(void *report_baton, apr_pool_t *pool) |
WC calls this when the state report is finished; any directories or files not explicitly `set' are assumed to be at the baseline revision originally passed into do_update(). | |
svn_error_t *(* | abort_report )(void *report_baton, apr_pool_t *pool) |
If an error occurs during a report, this routine should cause the filesystem transaction to be aborted & cleaned up. |
The update Reporter.
A vtable structure which allows a working copy to describe a subset (or possibly all) of its working-copy to an RA layer, for the purposes of an update, switch, status, or diff operation.
Paths for report calls are relative to the target (not the anchor) of the operation. Report calls must be made in depth-first order: parents before children, all children of a parent before any siblings of the parent. The first report call must be a set_path with a path argument of "" and a valid revision. (If the target of the operation is locally deleted or missing, use the anchor's revision.) If the target of the operation is deleted or switched relative to the anchor, follow up the initial set_path call with a link_path or delete_path call with a path argument of "" to indicate that. In no other case may there be two report descriptions for the same path. If the target of the operation is a locally added file or directory (which previously did not exist), it may be reported as having revision 0 or as having the parent directory's revision.
svn_error_t*(* svn_ra_reporter3_t::abort_report)(void *report_baton, apr_pool_t *pool) |
svn_error_t*(* svn_ra_reporter3_t::delete_path)(void *report_baton, const char *path, apr_pool_t *pool) |
Describing a working copy path as missing.
path may not be underneath a path on which set_path() was previously called with svn_depth_exclude
in this report.
All temporary allocations are done in pool.
svn_error_t*(* svn_ra_reporter3_t::finish_report)(void *report_baton, apr_pool_t *pool) |
WC calls this when the state report is finished; any directories or files not explicitly `set' are assumed to be at the baseline revision originally passed into do_update().
No other reporting functions, including abort_report, should be called after calling this function.
svn_error_t*(* svn_ra_reporter3_t::link_path)(void *report_baton, const char *path, const char *url, svn_revnum_t revision, svn_depth_t depth, svn_boolean_t start_empty, const char *lock_token, apr_pool_t *pool) |
Like set_path(), but differs in that path in the working copy (relative to the root of the report driver) isn't a reflection of path in the repository (relative to the URL specified when opening the RA layer), but is instead a reflection of a different repository url at revision, and has depth depth.
path may not be underneath a path on which set_path() was previously called with svn_depth_exclude
in this report.
If start_empty is set and path is a directory, the implementor should assume the directory has no entries or props.
If lock_token is non-NULL, it is the lock token for path in the WC.
All temporary allocations are done in pool.
svn_error_t*(* svn_ra_reporter3_t::set_path)(void *report_baton, const char *path, svn_revnum_t revision, svn_depth_t depth, svn_boolean_t start_empty, const char *lock_token, apr_pool_t *pool) |
Describe a working copy path as being at a particular revision and having depth depth.
revision may be SVN_INVALID_REVNUM if (for example) path represents a locally-added path with no revision number, or depth is svn_depth_exclude
.
path may not be underneath a path on which set_path() was previously called with svn_depth_exclude
in this report.
If start_empty is set and path is a directory, the implementor should assume the directory has no entries or props.
This will *override* any previous set_path() calls made on parent paths. path is relative to the URL specified in svn_ra_open4().
If lock_token is non-NULL, it is the lock token for path in the WC.
All temporary allocations are done in pool.