subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Shahaf <danie...@elego.de>
Subject Re: svn commit: r1144028 - /subversion/branches/revprop-packing/subversion/libsvn_fs_fs/fs_fs.c
Date Thu, 07 Jul 2011 20:50:22 GMT
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@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;
> 
> 

Mime
View raw message