You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ph...@apache.org on 2011/07/20 19:02:48 UTC
svn commit: r1148853 - /subversion/trunk/subversion/libsvn_client/merge.c
Author: philip
Date: Wed Jul 20 17:02:47 2011
New Revision: 1148853
URL: http://svn.apache.org/viewvc?rev=1148853&view=rev
Log:
Small reduction in memory use.
* subversion/libsvn_client/merge.c:
(log_noop_revs): Allocate rangelist once.
(remove_noop_subtree_ranges): Destroy what is effectively an iterpool.
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=1148853&r1=1148852&r2=1148853&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/merge.c (original)
+++ subversion/trunk/subversion/libsvn_client/merge.c Wed Jul 20 17:02:47 2011
@@ -7891,6 +7891,7 @@ log_noop_revs(void *baton,
svn_boolean_t log_entry_rev_required = FALSE;
apr_array_header_t *rl1;
apr_array_header_t *rl2;
+ apr_array_header_t *rangelist;
/* The baton's pool is essentially an iterpool so we must clear it
* for each invocation of this function. */
@@ -7904,11 +7905,11 @@ log_noop_revs(void *baton,
revision = log_entry->revision;
+ rangelist = svn_rangelist__initialize(revision - 1, revision, TRUE,
+ log_gap_baton->pool);
/* Unconditionally add LOG_ENTRY->REVISION to BATON->OPERATIVE_MERGES. */
SVN_ERR(svn_rangelist_merge(&(log_gap_baton->operative_ranges),
- svn_rangelist__initialize(revision - 1,
- revision, TRUE,
- log_gap_baton->pool),
+ rangelist,
log_gap_baton->pool));
/* Examine each path affected by LOG_ENTRY->REVISION. If the explicit or
@@ -7977,10 +7978,7 @@ log_noop_revs(void *baton,
event the inherited mergeinfo is actually non-inheritable. */
SVN_ERR(svn_rangelist_intersect(&intersecting_range,
paths_explicit_rangelist,
- svn_rangelist__initialize(
- revision - 1,
- revision, TRUE,
- pool),
+ rangelist,
mergeinfo_inherited, pool));
if (intersecting_range->nelts == 0)
@@ -7994,10 +7992,7 @@ log_noop_revs(void *baton,
if (!log_entry_rev_required)
SVN_ERR(svn_rangelist_merge(&(log_gap_baton->merged_ranges),
- svn_rangelist__initialize(revision - 1,
- revision,
- TRUE,
- log_gap_baton->pool),
+ rangelist,
log_gap_baton->pool));
return SVN_NO_ERROR;
@@ -8166,6 +8161,8 @@ remove_noop_subtree_ranges(const char *u
}
}
+ svn_pool_destroy(log_gap_baton.pool);
+
return SVN_NO_ERROR;
}