Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/libsvn_client/deprecated.c view on Meta::CPAN
svn_boolean_t strict_node_history,
svn_log_message_receiver_t receiver,
void *receiver_baton,
svn_client_ctx_t *ctx,
apr_pool_t *pool)
{
svn_log_entry_receiver_t receiver2;
void *receiver2_baton;
svn_compat_wrap_log_receiver(&receiver2, &receiver2_baton,
receiver, receiver_baton,
pool);
return svn_client_log4(targets, peg_revision, start, end, limit,
discover_changed_paths, strict_node_history, FALSE,
svn_compat_log_revprops_in(pool),
receiver2, receiver2_baton, ctx, pool);
}
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)
{
svn_opt_revision_t peg_revision;
peg_revision.kind = svn_opt_revision_unspecified;
return svn_client_log3(targets, &peg_revision, start, end, limit,
discover_changed_paths, strict_node_history,
receiver, receiver_baton, ctx, pool);
}
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)
{
svn_error_t *err = SVN_NO_ERROR;
err = svn_client_log2(targets, start, end, 0, discover_changed_paths,
strict_node_history, receiver, receiver_baton, ctx,
pool);
/* Special case: If there have been no commits, we'll get an error
* for requesting log of a revision higher than 0. But the
* default behavior of "svn log" is to give revisions HEAD through
* 1, on the assumption that HEAD >= 1.
*
* So if we got that error for that reason, and it looks like the
* user was just depending on the defaults (rather than explicitly
* requesting the log for revision 1), then we don't error. Instead
* we just invoke the receiver manually on a hand-constructed log
* message for revision 0.
*
* See also http://subversion.tigris.org/issues/show_bug.cgi?id=692.
*/
if (err && (err->apr_err == SVN_ERR_FS_NO_SUCH_REVISION)
&& (start->kind == svn_opt_revision_head)
&& ((end->kind == svn_opt_revision_number)
&& (end->value.number == 1)))
{
/* We don't need to check if HEAD is 0, because that must be the case,
* by logical deduction: The revision range specified is HEAD:1.
* HEAD cannot not exist, so the revision to which "no such revision"
* applies is 1. If revision 1 does not exist, then HEAD is 0.
* Hence, we deduce the repository is empty without needing access
* to further information. */
svn_error_clear(err);
err = SVN_NO_ERROR;
/* Log receivers are free to handle revision 0 specially... But
just in case some don't, we make up a message here. */
SVN_ERR(receiver(receiver_baton,
NULL, 0, "", "", _("No commits in repository"),
pool));
}
return svn_error_trace(err);
}
/*** From merge.c ***/
svn_error_t *
svn_client_merge4(const char *source1,
const svn_opt_revision_t *revision1,
const char *source2,
const svn_opt_revision_t *revision2,
const char *target_wcpath,
svn_depth_t depth,
svn_boolean_t ignore_ancestry,
svn_boolean_t force_delete,
svn_boolean_t record_only,
svn_boolean_t dry_run,
svn_boolean_t allow_mixed_rev,
const apr_array_header_t *merge_options,
svn_client_ctx_t *ctx,
apr_pool_t *pool)
{
SVN_ERR(svn_client_merge5(source1, revision1,
source2, revision2,
target_wcpath,
depth,
ignore_ancestry /*ignore_mergeinfo*/,
ignore_ancestry /*diff_ignore_ancestry*/,
force_delete, record_only,
dry_run, allow_mixed_rev,
merge_options, ctx, pool));
( run in 2.414 seconds using v1.01-cache-2.11-cpan-cdf2f3d4e48 )