On Wed, Feb 17, 2010 at 06:18:56PM +0000, Matthew Bentham wrote: > Index: subversion/libsvn_wc/node.c > =================================================================== > --- subversion/libsvn_wc/node.c (revision 909397) > +++ subversion/libsvn_wc/node.c (working copy) > @@ -310,6 +310,32 @@ > db, local_abspath, > scratch_pool, scratch_pool)); > } > + else if (status == svn_wc__db_status_deleted) > + { > + const char *current_abspath = local_abspath; > + apr_pool_t *iterpool = svn_pool_create(scratch_pool); > + while (status == svn_wc__db_status_deleted) > + { > + svn_pool_clear(iterpool); > + svn_dirent_split(current_abspath, > + ¤t_abspath, > + NULL, scratch_pool); > + > + SVN_ERR(svn_wc__db_read_info(&status, NULL, NULL, > &repos_relpath, > + &repos_root_url, NULL, NULL, NULL, > + NULL, NULL, NULL, NULL, NULL, > NULL, > + NULL, NULL, NULL, NULL, NULL, > NULL, > + NULL, NULL, NULL, NULL, > + db, current_abspath, > + scratch_pool, iterpool)); > + }
You need this here: svn_pool_destroy(iterpool); Pools must be destroyed within the scope that creates them. I forgot to mention this in my last mail, sorry. > + SVN_ERR_ASSERT(repos_root_url != NULL && repos_relpath != NULL); > + repos_relpath = svn_dirent_join(repos_relpath, > + > svn_dirent_is_child(current_abspath, > + local_abspath, > + scratch_pool), The above two lines need 3 more spaces of indentation each. > + scratch_pool); > + } > else > { > *url = NULL; With these changes, the patch looks fine to me, but I'll leave it to the resident WC-NG gurus to handle it further. Thanks for contributing! Stefan -- printf("Eh???/n");