On Wed, Oct 31, 2018 at 09:46:23AM +0000, Jonathan Guy wrote: > Hi Stephan > Thanks for the reply. > I did see code section you refer to however the svn_client__resolve_conflicts > will only be called if you have ctx->conflict_func2. > That function (AFAIK) is only installed if an “accept” option is supplied as > the code below > > > /* Install a legacy conflict handler if the --accept option was given. > * Else, svn_client_merge5() may abort the merge in an undesirable way. > * See the docstring at conflict_func_merge_cmd() for details */ > if (opt_state->accept_which != svn_cl__accept_unspecified) > { > struct conflict_func_merge_cmd_baton *b = apr_pcalloc(pool, sizeof(*b)); > > b->accept_which = opt_state->accept_which; > SVN_ERR(svn_dirent_get_absolute(&b->path_prefix, "", pool)); > b->conflict_stats = conflict_stats; > > ctx->conflict_func2 = conflict_func_merge_cmd; > ctx->conflict_baton2 = b; > } > > > The resolver that runs post run_merge is however run regardless if there is > an accept argument or not. > If no accept option is given the user is ultimately prompted to resolve the > conflict (dry-run or no dry-run). > > > /* If we are in interactive mode and either the user gave no --accept > * option or the option did not apply, then prompt. */ > if (option_id == svn_client_conflict_option_unspecified) > { > svn_boolean_t resolved = FALSE; > svn_boolean_t postponed = FALSE; > svn_boolean_t printed_description = FALSE; > svn_error_t *err; > > *quit = FALSE; > > while (!resolved && !postponed && !*quit) > { > err = resolve_conflict_interactively(&resolved, &postponed, > > > Sorry I’m no trying to be argumentative I just need to clear on this one > aspect. > Thanks for any help.
Can you provide an example? I cannot reproduce the problem like this: $ svn merge ^/trunk --- Merging r2 through r5 into '.': C alpha A alpha2 --- Recording mergeinfo for merge of r2 through r5 into '.': U . Summary of conflicts: Tree conflicts: 1 Searching tree conflict details for 'alpha' in repository: Checking r4... done Tree conflict on 'alpha': File merged from '^/trunk/alpha@1' to '^/trunk/alpha@5' was moved to '^/trunk/alpha2' by stsp in r4. A file which differs from the corresponding file on the merge source branch was found in the working copy. Applying recommended resolution 'Move and merge': C alpha2 Tree conflict at 'alpha' marked as resolved. Merge conflict discovered in file 'alpha2'. Select: (p) Postpone, (df) Show diff, (e) Edit file, (m) Merge, (s) Show all options: q Summary of conflicts: Text conflicts: 1 remaining (and 0 already resolved) Tree conflicts: 0 remaining (and 1 already resolved) $ sv revert $ pwd /tmp/svn-sandbox/branch $ svn revert -R . Reverted '.' Reverted 'alpha' Reverted 'alpha2' $ svn merge ^/trunk --dry-run --- Merging r2 through r5 into '.': C alpha A alpha2 Summary of conflicts: Tree conflicts: 1 $