On Tue, Oct 30, 2018 at 06:39:49PM +0000, Jonathan Guy wrote:
> [[[
> *subversion/svn/merge-cmd.c
> (svn_cl__merge): Suppress the interactive conflict resolver 
> if a merge has been performed with the dry-run option.
> ]]]

Hi Jonathan,

Thank your for the patch. I am afraid I misled you earlier by suggesting
that you send a patch for the issue. This is in fact not a problem in
the current implementation because the dry_run flag gets passed down
into libsvn_client, where it takes part in the decision about running
the conflict resolver.

Specifically, this part of the do_merge() function in the file
subversion/libsvn_client/merge.c checks the flag:

          /* Give the conflict resolver callback the opportunity to
           * resolve any conflicts that were raised.  If it resolves all
           * of them, go around again to merge the next sub-range (if any). */
          if (conflicted_range_report && ctx->conflict_func2 && ! dry_run)
            {
              svn_boolean_t conflicts_remain;

              SVN_ERR(svn_client__resolve_conflicts(
                        &conflicts_remain, merge_cmd_baton.conflicted_paths,
                        ctx, iterpool));
              if (conflicts_remain)
                break;

So your patch is redundant and we don't need to apply it.
I should have tested the current behaviour before recommending that
you send a patch.

Regardless, thank you for your contribution!

Stefan

Reply via email to