[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1304656 - in /subversion/trunk/subversion: libsvn_fs_fs/fs_fs.c libsvn_fs_fs/tree.c libsvn_fs_fs/tree.h tests/cmdline/svnadmin_tests.py

From: Daniel Shahaf <danielsh_at_elego.de>
Date: Sat, 24 Mar 2012 16:36:44 +0200

Greg Stein wrote on Fri, Mar 23, 2012 at 22:46:43 -0400:
> On Mar 23, 2012 7:16 PM, <danielsh_at_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
Received on 2012-03-24 15:37:31 CET

This is an archived mail posted to the Subversion Dev mailing list.