diff options
Diffstat (limited to 'subversion/svn/merge-cmd.c')
| -rw-r--r-- | subversion/svn/merge-cmd.c | 40 | 
1 files changed, 22 insertions, 18 deletions
diff --git a/subversion/svn/merge-cmd.c b/subversion/svn/merge-cmd.c index f5c19198a5b29..140a39fad73f7 100644 --- a/subversion/svn/merge-cmd.c +++ b/subversion/svn/merge-cmd.c @@ -545,27 +545,31 @@ retry:                   "fix invalid mergeinfo in target with 'svn propset'"));      } -  /* Run the interactive resolver if conflicts were raised. */ -  SVN_ERR(svn_cl__conflict_stats_get_paths(&conflicted_paths, conflict_stats, -                                           pool, pool)); -  if (conflicted_paths) +  if (! opt_state->dry_run)      { -      SVN_ERR(svn_cl__walk_conflicts(conflicted_paths, conflict_stats, -                                     opt_state, ctx, pool)); -      if (merge_err && -          svn_error_root_cause(merge_err)->apr_err == SVN_ERR_WC_FOUND_CONFLICT) +      /* Run the interactive resolver if conflicts were raised. */ +      SVN_ERR(svn_cl__conflict_stats_get_paths(&conflicted_paths, +                                               conflict_stats, pool, pool)); +      if (conflicted_paths)          { -          svn_error_t *err; - -          /* Check if all conflicts were resolved just now. */ -          err = svn_cl__conflict_stats_get_paths(&conflicted_paths, -                                                 conflict_stats, pool, pool); -          if (err) -            merge_err = svn_error_compose_create(merge_err, err); -          else if (conflicted_paths == NULL) +          SVN_ERR(svn_cl__walk_conflicts(conflicted_paths, conflict_stats, +                                         opt_state, ctx, pool)); +          if (merge_err && svn_error_root_cause(merge_err)->apr_err == +              SVN_ERR_WC_FOUND_CONFLICT)              { -              svn_error_clear(merge_err); -              goto retry; /* ### conflicts resolved; continue merging */ +              svn_error_t *err; + +              /* Check if all conflicts were resolved just now. */ +              err = svn_cl__conflict_stats_get_paths(&conflicted_paths, +                                                     conflict_stats, +                                                     pool, pool); +              if (err) +                merge_err = svn_error_compose_create(merge_err, err); +              else if (conflicted_paths == NULL) +                { +                  svn_error_clear(merge_err); +                  goto retry; /* ### conflicts resolved; continue merging */ +                }              }          }      }  | 
