On Thu, Sep 08, 2011 at 01:39:24AM -0000, danielsh_at_apache.org wrote:
> Author: danielsh
> Date: Thu Sep 8 01:39:23 2011
> New Revision: 1166496
>
> URL: http://svn.apache.org/viewvc?rev=1166496&view=rev
> Log:
> On the fs-successor-ids branch, factor out repeated logic.
>
> This misbehaves a little when I test it, but eyeballing the diff convinces
> me that those the behaviour of the code must be identical before/after this
> patch... so I'm committing it anyway :).
How does it misbehave?
> ==============================================================================
> --- subversion/branches/fs-successor-ids/subversion/libsvn_fs_fs/fs_fs.c (original)
> +++ subversion/branches/fs-successor-ids/subversion/libsvn_fs_fs/fs_fs.c Thu Sep 8 01:39:23 2011
> @@ -494,6 +494,32 @@ path_node_origin(svn_fs_t *fs, const cha
> node_id_minus_last_char, NULL);
> }
>
> +static svn_error_t *
> +make_shard_dir(const char *(*path_some_shard)(svn_fs_t *,
> + svn_revnum_t,
> + apr_pool_t *),
This is awkward.
Why not pass the shard path as an argument to this function?
> + svn_fs_t *fs,
> + svn_revnum_t revision,
> + apr_pool_t *pool)
> +{
> + /* We don't care if this fails because the shard already existed
> + * for some reason. */
> + svn_error_t *err;
> + const char *new_dir;
> +
> + new_dir = path_some_shard(fs, revision, pool);
> + err = svn_io_dir_make(new_dir, APR_OS_DEFAULT, pool);
> + if (err && !APR_STATUS_IS_EEXIST(err->apr_err))
> + SVN_ERR(err);
> + svn_error_clear(err);
> + SVN_ERR(svn_fs_fs__dup_perms(new_dir,
> + svn_dirent_dirname(new_dir, pool),
> + pool));
> +
> + return SVN_NO_ERROR;
> +}
Received on 2011-09-08 14:22:17 CEST