On Wed, Apr 21, 2010 at 20:50, <neels_at_apache.org> wrote:
>...
> +++ subversion/trunk/subversion/libsvn_wc/node.c Thu Apr 22 00:50:18 2010
> @@ -633,12 +633,13 @@ svn_wc__node_get_commit_base_rev(svn_rev
> apr_pool_t *scratch_pool)
> {
> svn_wc__db_status_t status;
> + svn_boolean_t base_shadowed;
>
> SVN_ERR(svn_wc__db_read_info(&status, NULL,
> commit_base_revision,
> NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
> NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
> - NULL, NULL, NULL, NULL, NULL,
> + NULL, NULL, &base_shadowed, NULL, NULL,
> wc_ctx->db, local_abspath, scratch_pool,
> scratch_pool));
>
> @@ -656,6 +657,13 @@ svn_wc__node_get_commit_base_rev(svn_rev
> NULL, NULL, commit_base_revision,
> wc_ctx->db, local_abspath,
> scratch_pool, scratch_pool));
> +
> + if (! SVN_IS_VALID_REVNUM(*commit_base_revision) && base_shadowed)
If base_shadowed is TRUE, then a WORKING node is also present, which
implies *commit_base_revision == SVN_INVALID_REVNUM. IOW, the first
part of your condition is redundant.
> + /* It is a replace that does not feature a copy/move-here.
> + Return the revert-base revision. */
> + return svn_wc__node_get_base_rev(commit_base_revision,
> + wc_ctx, local_abspath,
> + scratch_pool);
Make sure to use svn_error_return(...) in an expression like this.
>...
Cheers,
-g
Received on 2010-04-22 04:29:16 CEST