[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Suppress conflict resolver in dry-run merge

From: Stefan Sperling <stsp_at_elego.de>
Date: Wed, 31 Oct 2018 09:32:03 +0100

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
Received on 2018-10-31 09:32:24 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.