You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2009/12/23 14:46:42 UTC
svn commit: r893509 - /subversion/trunk/subversion/libsvn_fs_base/dag.c
Author: julianfoad
Date: Wed Dec 23 13:46:41 2009
New Revision: 893509
URL: http://svn.apache.org/viewvc?rev=893509&view=rev
Log:
For obliterate, add an iterpool to a loop introduced in r893267.
* subversion/libsvn_fs_base/dag.c
(node_origins_update): Add and use an iterpool for the loop.
Modified:
subversion/trunk/subversion/libsvn_fs_base/dag.c
Modified: subversion/trunk/subversion/libsvn_fs_base/dag.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/dag.c?rev=893509&r1=893508&r2=893509&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/dag.c (original)
+++ subversion/trunk/subversion/libsvn_fs_base/dag.c Wed Dec 23 13:46:41 2009
@@ -1638,6 +1638,7 @@
apr_pool_t *scratch_pool)
{
apr_array_header_t *changes;
+ apr_pool_t *iterpool = svn_pool_create(scratch_pool);
int i;
/* To find the nodes that originate in the old txn, we'll look in the
@@ -1649,6 +1650,8 @@
{
change_t *change = APR_ARRAY_IDX(changes, i, change_t *);
+ svn_pool_clear(iterpool);
+
if (change->kind == svn_fs_path_change_add
|| change->kind == svn_fs_path_change_replace)
{
@@ -1660,7 +1663,7 @@
/* Fetch the old node-origin */
SVN_ERR(svn_fs_bdb__get_node_origin(&origin_id, trail->fs, node_id,
- trail, scratch_pool));
+ trail, iterpool));
id_copy_id = svn_fs_base__id_copy_id(origin_id);
id_txn_id = svn_fs_base__id_txn_id(origin_id);
@@ -1668,16 +1671,18 @@
{
/* Change its txn_id to NEW_TXN_ID */
origin_id = svn_fs_base__id_create(node_id, id_copy_id,
- new_txn_id, scratch_pool);
+ new_txn_id, iterpool);
/* Save the new node-origin */
- SVN_ERR(svn_fs_bdb__delete_node_origin(trail->fs, node_id, trail, scratch_pool));
+ SVN_ERR(svn_fs_bdb__delete_node_origin(trail->fs, node_id, trail,
+ iterpool));
SVN_ERR(svn_fs_bdb__set_node_origin(trail->fs, node_id,
origin_id, trail,
- scratch_pool));
+ iterpool));
}
}
}
+ svn_pool_destroy(iterpool);
return SVN_NO_ERROR;
}