[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1144028 - /subversion/branches/revprop-packing/subversion/libsvn_fs_fs/fs_fs.c

From: Daniel Shahaf <danielsh_at_elego.de>
Date: Thu, 7 Jul 2011 23:50:22 +0300

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

hwright_at_apache.org 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;
>
>
Received on 2011-07-07 22:51:19 CEST

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