[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 17:26:53 +0200

Done in r1304815

Daniel Shahaf wrote on Sat, Mar 24, 2012 at 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 16:27:30 CET

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