On Wed, Feb 08, 2017 at 12:30:03AM +0300, Evgeny Kotkov wrote:
> I think that the actual problem here is that calling the
> svn_client_conflict_option_set_moved_to_repos_relpath() function
> does not update the description (and the target path in the description
> could have changed).
>
> In other words, probably we're looking at something along these lines:
Ah, indeed. Thank you very much for this patch!
Please commit it when you get a chance.
Thanks,
Stefan
> [[[
> Index: subversion/include/svn_client.h
> ===================================================================
> --- subversion/include/svn_client.h (revision 1782081)
> +++ subversion/include/svn_client.h (working copy)
> @@ -4495,6 +4495,7 @@ svn_error_t *
> svn_client_conflict_option_set_moved_to_repos_relpath(
> svn_client_conflict_option_t *option,
> int preferred_move_target_idx,
> + svn_client_ctx_t *ctx,
> apr_pool_t *scratch_pool);
>
> /**
> Index: subversion/libsvn_client/conflicts.c
> ===================================================================
> --- subversion/libsvn_client/conflicts.c (revision 1782081)
> +++ subversion/libsvn_client/conflicts.c (working copy)
> @@ -9414,6 +9414,7 @@ svn_error_t *
> svn_client_conflict_option_set_moved_to_repos_relpath(
> svn_client_conflict_option_t *option,
> int preferred_move_target_idx,
> + svn_client_ctx_t *ctx,
> apr_pool_t *scratch_pool)
> {
> svn_client_conflict_t *conflict = option->conflict;
> @@ -9466,6 +9467,14 @@ svn_client_conflict_option_set_moved_to_repos_relp
> if (strcmp(move_target_repos_relpath, repos_relpath) == 0)
> {
> details->move_target_repos_relpath = repos_relpath;
> + /* Update option description. */
> + SVN_ERR(describe_incoming_move_merge_conflict_option(
> + &option->description,
> + conflict, ctx,
> + details,
> + conflict->pool,
> + scratch_pool));
> +
> return SVN_NO_ERROR;
> }
> }
> Index: subversion/svn/conflict-callbacks.c
> ===================================================================
> --- subversion/svn/conflict-callbacks.c (revision 1782081)
> +++ subversion/svn/conflict-callbacks.c (working copy)
> @@ -1751,16 +1751,9 @@ handle_tree_conflict(svn_boolean_t *resolved,
> if (conflict_option)
> {
> SVN_ERR(svn_client_conflict_option_set_moved_to_repos_relpath(
> - conflict_option, preferred_move_target_idx, iterpool));
> + conflict_option, preferred_move_target_idx,
> + ctx, iterpool));
>
> - /* Update option description. */
> - SVN_ERR(build_tree_conflict_options(
> - &tree_conflict_options,
> - &possible_moved_to_repos_relpaths,
> - &possible_moved_to_abspaths,
> - NULL, conflict, ctx,
> - scratch_pool, scratch_pool));
> -
> /* Update conflict description. */
> SVN_ERR(svn_client_conflict_tree_get_description(
> &incoming_change_description, &local_change_description,
> ]]]
>
>
> Regards,
> Evgeny Kotkov
Received on 2017-02-08 11:05:48 CET