subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Sperling <s...@elego.de>
Subject Re: wish for new API or extended one
Date Wed, 08 Feb 2017 10:05:32 GMT
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

Mime
View raw message