Greg Stein wrote on Fri, Mar 23, 2012 at 22:46:43 -0400:
> On Mar 23, 2012 7:16 PM, <danie...@apache.org> wrote:
> >...
> > +++ subversion/trunk/subversion/libsvn_fs_fs/tree.c Fri Mar 23 23:15:34
> 2012
> ...
> > +  if (kind == svn_node_dir)
> > +    {
> > +      apr_hash_t *entries;
> > +      apr_hash_index_t *hi;
> > +      apr_int64_t children_mergeinfo = 0;
> > +
> > +      SVN_ERR(svn_fs_fs__dag_dir_entries(&entries, node, pool, pool));
> > +
> > +      /* Compute CHILDREN_MERGEINFO. */
> > +      /* ### TODO: iterpool? */
> > +      for (hi = apr_hash_first(pool, entries);
> > +           hi;
> > +           hi = apr_hash_next(hi))
> 
> I think the iterpool is a must-have; otherwise, it appears the entire tree
> (given the recursion) for a revision falls into that outermost iterpool of
> verify's caller.
> 

The recursion here touches every changed path, every ancestor of
a changed path, and every immediate child of one of the preceding.

Usually we allocate all the CHANGED_PATHS information in a single pool,
but here we touch every immediate child of every ancestor too.  Iterpool
it is then.

> >...
> 
> Cheers,
> -g

Reply via email to