Subversion
|
Functions | |
svn_error_t * | svn_client_log5 (const apr_array_header_t *targets, const svn_opt_revision_t *peg_revision, const apr_array_header_t *revision_ranges, int limit, svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, svn_boolean_t include_merged_revisions, const apr_array_header_t *revprops, svn_log_entry_receiver_t receiver, void *receiver_baton, svn_client_ctx_t *ctx, apr_pool_t *pool) |
Invoke receiver with receiver_baton on each log message from each (svn_opt_revision_range_t *) range in revision_ranges in turn, inclusive (but never invoke receiver on a given log message more than once). More... | |
svn_error_t * | svn_client_log4 (const apr_array_header_t *targets, const svn_opt_revision_t *peg_revision, const svn_opt_revision_t *start, const svn_opt_revision_t *end, int limit, svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, svn_boolean_t include_merged_revisions, const apr_array_header_t *revprops, svn_log_entry_receiver_t receiver, void *receiver_baton, svn_client_ctx_t *ctx, apr_pool_t *pool) |
Similar to svn_client_log5(), but takes explicit start and end parameters instead of an array of revision ranges. More... | |
svn_error_t * | svn_client_log3 (const apr_array_header_t *targets, const svn_opt_revision_t *peg_revision, const svn_opt_revision_t *start, const svn_opt_revision_t *end, int limit, svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, svn_log_message_receiver_t receiver, void *receiver_baton, svn_client_ctx_t *ctx, apr_pool_t *pool) |
Similar to svn_client_log4(), but using svn_log_message_receiver_t instead of svn_log_entry_receiver_t. More... | |
svn_error_t * | svn_client_log2 (const apr_array_header_t *targets, const svn_opt_revision_t *start, const svn_opt_revision_t *end, int limit, svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, svn_log_message_receiver_t receiver, void *receiver_baton, svn_client_ctx_t *ctx, apr_pool_t *pool) |
Similar to svn_client_log3(), but with the kind field of peg_revision set to svn_opt_revision_unspecified. More... | |
svn_error_t * | svn_client_log (const apr_array_header_t *targets, const svn_opt_revision_t *start, const svn_opt_revision_t *end, svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, svn_log_message_receiver_t receiver, void *receiver_baton, svn_client_ctx_t *ctx, apr_pool_t *pool) |
Similar to svn_client_log2(), but with limit set to 0, and the following special case: More... | |
svn_error_t* svn_client_log | ( | const apr_array_header_t * | targets, |
const svn_opt_revision_t * | start, | ||
const svn_opt_revision_t * | end, | ||
svn_boolean_t | discover_changed_paths, | ||
svn_boolean_t | strict_node_history, | ||
svn_log_message_receiver_t | receiver, | ||
void * | receiver_baton, | ||
svn_client_ctx_t * | ctx, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_client_log2(), but with limit set to 0, and the following special case:
Special case for repositories at revision 0:
If start->kind is svn_opt_revision_head, and end->kind is svn_opt_revision_number && end->number is 1
, then handle an empty (no revisions) repository specially: instead of erroring because requested revision 1 when the highest revision is 0, just invoke receiver on revision 0, passing NULL
for changed paths and empty strings for the author and date. This is because that particular combination of start and end usually indicates the common case of log invocation – the user wants to see all log messages from youngest to oldest, where the oldest commit is revision 1. That works fine, except when there are no commits in the repository, hence this special case.
svn_error_t* svn_client_log2 | ( | const apr_array_header_t * | targets, |
const svn_opt_revision_t * | start, | ||
const svn_opt_revision_t * | end, | ||
int | limit, | ||
svn_boolean_t | discover_changed_paths, | ||
svn_boolean_t | strict_node_history, | ||
svn_log_message_receiver_t | receiver, | ||
void * | receiver_baton, | ||
svn_client_ctx_t * | ctx, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_client_log3(), but with the kind
field of peg_revision set to svn_opt_revision_unspecified.
svn_error_t* svn_client_log3 | ( | const apr_array_header_t * | targets, |
const svn_opt_revision_t * | peg_revision, | ||
const svn_opt_revision_t * | start, | ||
const svn_opt_revision_t * | end, | ||
int | limit, | ||
svn_boolean_t | discover_changed_paths, | ||
svn_boolean_t | strict_node_history, | ||
svn_log_message_receiver_t | receiver, | ||
void * | receiver_baton, | ||
svn_client_ctx_t * | ctx, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_client_log4(), but using svn_log_message_receiver_t instead of svn_log_entry_receiver_t.
Also, include_merged_revisions is set to FALSE
and revprops is svn:author, svn:date, and svn:log.
svn_error_t* svn_client_log4 | ( | const apr_array_header_t * | targets, |
const svn_opt_revision_t * | peg_revision, | ||
const svn_opt_revision_t * | start, | ||
const svn_opt_revision_t * | end, | ||
int | limit, | ||
svn_boolean_t | discover_changed_paths, | ||
svn_boolean_t | strict_node_history, | ||
svn_boolean_t | include_merged_revisions, | ||
const apr_array_header_t * | revprops, | ||
svn_log_entry_receiver_t | receiver, | ||
void * | receiver_baton, | ||
svn_client_ctx_t * | ctx, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_client_log5(), but takes explicit start and end parameters instead of an array of revision ranges.
svn_error_t* svn_client_log5 | ( | const apr_array_header_t * | targets, |
const svn_opt_revision_t * | peg_revision, | ||
const apr_array_header_t * | revision_ranges, | ||
int | limit, | ||
svn_boolean_t | discover_changed_paths, | ||
svn_boolean_t | strict_node_history, | ||
svn_boolean_t | include_merged_revisions, | ||
const apr_array_header_t * | revprops, | ||
svn_log_entry_receiver_t | receiver, | ||
void * | receiver_baton, | ||
svn_client_ctx_t * | ctx, | ||
apr_pool_t * | pool | ||
) |
Invoke receiver with receiver_baton on each log message from each (svn_opt_revision_range_t *) range in revision_ranges in turn, inclusive (but never invoke receiver on a given log message more than once).
targets contains either a URL followed by zero or more relative paths, or 1 working copy path, as const char *
, for which log messages are desired. receiver is invoked only on messages whose revisions involved a change to some path in targets. peg_revision indicates in which revision targets are valid. If peg_revision is svn_opt_revision_unspecified, it defaults to svn_opt_revision_head for URLs or svn_opt_revision_working for WC paths.
If limit is non-zero only invoke receiver on the first limit logs.
If discover_changed_paths is set, then the changed_paths
and changed_paths2
fields in the log_entry
argument to receiver will be populated on each invocation.
text_modified
and props_modified
fields of the changed paths structure may have the value svn_tristate_unknown if the repository does not report that information.If strict_node_history is set, copy history (if any exists) will not be traversed while harvesting revision logs for each target.
If include_merged_revisions is set, log information for revisions which have been merged to targets will also be returned.
If revprops is NULL, retrieve all revision properties; else, retrieve only the revision properties named by the (const char *) array elements (i.e. retrieve none if the array is empty).
Use pool for any temporary allocation.
If ctx->notify_func2 is non-NULL, then call ctx->notify_func2/baton2 with a 'skip' signal on any unversioned targets.