Author: stsp Date: Thu Dec 15 16:24:59 2011 New Revision: 1214840 URL: http://svn.apache.org/viewvc?rev=1214840&view=rev Log: Another bug fix in incremental FSFS hotcopy when copying packs.
* subversion/libsvn_fs_fs/fs_fs.c (hotcopy_body): Remove empty revision directories after all files inside them have been moved into a pack. Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c?rev=1214840&r1=1214839&r2=1214840&view=diff ============================================================================== --- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original) +++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Thu Dec 15 16:24:59 2011 @@ -8226,6 +8226,8 @@ hotcopy_body(void *baton, apr_pool_t *po /* First, copy packed shards. */ for (rev = 0; rev < src_min_unpacked_rev; rev += max_files_per_dir) { + svn_error_t *err; + svn_pool_clear(iterpool); if (cancel_func) @@ -8247,6 +8249,18 @@ hotcopy_body(void *baton, apr_pool_t *po if (incremental) SVN_ERR(hotcopy_remove_rev_files(dst_fs, rev, rev + max_files_per_dir, max_files_per_dir, iterpool)); + + /* Now that all revisions have moved into the pack, the original + * rev dir can be removed. */ + err = svn_io_remove_dir2(path_rev_shard(dst_fs, rev, iterpool), + TRUE, cancel_func, cancel_baton, iterpool); + if (err) + { + if (APR_STATUS_IS_ENOTEMPTY(err->apr_err)) + svn_error_clear(err); + else + return svn_error_trace(err); + } } if (cancel_func)