Hmm. For wc we have upgrade tests using tarred old working copies. Perhaps we should do the same for svnadmin/fsfs?
% grep upgrade svnadmin_tests.py | wc -l 0 [email protected] wrote on Thu, Jul 07, 2011 at 20:47:01 -0000: > Author: hwright > Date: Thu Jul 7 20:47:01 2011 > New Revision: 1144028 > > URL: http://svn.apache.org/viewvc?rev=1144028&view=rev > Log: > On the revprop-packing branch: > Copy our packed revprops as part of hotcopy. Number of test failures is down > to 39. > > * subversion/libsvn_fs_fs/fs_fs.c > (svn_fs_fs__hotcopy): Copy the packed revprop shards just as we do revision > shards. > > Modified: > subversion/branches/revprop-packing/subversion/libsvn_fs_fs/fs_fs.c > > Modified: subversion/branches/revprop-packing/subversion/libsvn_fs_fs/fs_fs.c > URL: > http://svn.apache.org/viewvc/subversion/branches/revprop-packing/subversion/libsvn_fs_fs/fs_fs.c?rev=1144028&r1=1144027&r2=1144028&view=diff > ============================================================================== > --- subversion/branches/revprop-packing/subversion/libsvn_fs_fs/fs_fs.c > (original) > +++ subversion/branches/revprop-packing/subversion/libsvn_fs_fs/fs_fs.c Thu > Jul 7 20:47:01 2011 > @@ -1677,17 +1677,26 @@ svn_fs_fs__hotcopy(const char *src_path, > > SVN_ERR(svn_io_make_dir_recursively(dst_subdir, pool)); > > - /* Copy the packed revprop db. */ > - if (format >= SVN_FS_FS__MIN_PACKED_REVPROP_FORMAT) > + /* First, copy packed shards. */ > + for (rev = 0; rev < min_unpacked_revprop; rev += max_files_per_dir) > { > - const char *src_file = svn_dirent_join(src_subdir, PATH_REVPROPS_DB, > - pool); > - const char *dst_file = svn_dirent_join(dst_subdir, PATH_REVPROPS_DB, > - pool); > - SVN_ERR(svn_sqlite__hotcopy(src_file, dst_file, pool)); > + const char *packed_shard = apr_psprintf(iterpool, "%ld.pack", > + rev / max_files_per_dir); > + const char *src_subdir_packed_shard; > + src_subdir_packed_shard = svn_dirent_join(src_subdir, packed_shard, > + iterpool); > + > + SVN_ERR(svn_io_copy_dir_recursively(src_subdir_packed_shard, > + dst_subdir, packed_shard, > + TRUE /* copy_perms */, > + NULL /* cancel_func */, NULL, > + iterpool)); > + svn_pool_clear(iterpool); > } > > - for (rev = min_unpacked_revprop; rev <= youngest; rev++) > + /* Then, copy non-packed shards. */ > + SVN_ERR_ASSERT(rev == min_unpacked_revprop); > + for (; rev <= youngest; rev++) > { > const char *src_subdir_shard = src_subdir, > *dst_subdir_shard = dst_subdir; > >

