Build the branch with pool debugging on APR and tests fail on the merge operation with:
apr_hash_merge: overlay's pool is not an ancestor of p Aborted The problem is the pattern used to create svnmover_wc_t objects: a result pool is passed to wc_create(), a subpool is created and the object and its data are alocated in that subpool. Later when execute() calls svn_branch_merge() it passes data allocated in that subpool but the scratch_pool that also gets passed is a sibling not a descendant of that pool. A simple fix is Index: ../src2/subversion/svnmover/svnmover.c =================================================================== --- ../src2/subversion/svnmover/svnmover.c (revision 1690117) +++ ../src2/subversion/svnmover/svnmover.c (working copy) @@ -2523,7 +2523,7 @@ { svn_editor3_t *editor; const char *base_relpath; - apr_pool_t *iterpool = svn_pool_create(pool); + apr_pool_t *iterpool = svn_pool_create(wc->pool); int i; editor = wc->editor; I think allocating the subpool in wc_create() is a bit of an anti-pattern, it takes pool management away from the caller. Simply eliminating the subpool is not a fix unless final_commit() is also changed to not destroy the svnmover_wc_t pool. -- Philip Martin WANdisco