You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by iv...@apache.org on 2013/06/12 02:21:44 UTC
svn commit: r1492020 - /subversion/trunk/subversion/libsvn_client/merge.c
Author: ivan
Date: Wed Jun 12 00:21:44 2013
New Revision: 1492020
URL: http://svn.apache.org/r1492020
Log:
Another cheap mergeinfo retrieval optimization.
* subversion/libsvn_client/merge.c
(short_circuit_mergeinfo_log): Do not request revision properties since we
don't need them.
Modified:
subversion/trunk/subversion/libsvn_client/merge.c
Modified: subversion/trunk/subversion/libsvn_client/merge.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/merge.c?rev=1492020&r1=1492019&r2=1492020&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/merge.c (original)
+++ subversion/trunk/subversion/libsvn_client/merge.c Wed Jun 12 00:21:44 2013
@@ -12031,7 +12031,7 @@ operative_rev_receiver(void *baton,
/* Wrapper around svn_client__mergeinfo_log. All arguments are as per
that private API. The discover_changed_paths, depth, and revprops args to
svn_client__mergeinfo_log are always TRUE, svn_depth_infinity_t,
- and NULL respectively.
+ and empty array respectively.
If RECEIVER raises a SVN_ERR_CEASE_INVOCATION error, but still sets
*REVISION to a valid revnum, then clear the error. Otherwise return
@@ -12051,18 +12051,22 @@ short_circuit_mergeinfo_log(svn_mergeinf
apr_pool_t *result_pool,
apr_pool_t *scratch_pool)
{
- svn_error_t *err = svn_client__mergeinfo_log(finding_merged,
- target_path_or_url,
- target_peg_revision,
- target_mergeinfo_cat,
- source_path_or_url,
- source_peg_revision,
- source_start_revision,
- source_end_revision,
- receiver, revision,
- TRUE, svn_depth_infinity,
- NULL, ctx, result_pool,
- scratch_pool);
+ apr_array_header_t *revprops;
+ svn_error_t *err;
+
+ revprops = apr_array_make(scratch_pool, 0, sizeof(const char *));
+ err = svn_client__mergeinfo_log(finding_merged,
+ target_path_or_url,
+ target_peg_revision,
+ target_mergeinfo_cat,
+ source_path_or_url,
+ source_peg_revision,
+ source_start_revision,
+ source_end_revision,
+ receiver, revision,
+ TRUE, svn_depth_infinity,
+ revprops, ctx, result_pool,
+ scratch_pool);
if (err)
{