You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2014/03/05 13:48:56 UTC

svn commit: r1574459 - /subversion/trunk/subversion/svn/conflict-callbacks.c

Author: stsp
Date: Wed Mar  5 12:48:55 2014
New Revision: 1574459

URL: http://svn.apache.org/r1574459
Log:
* subversion/svn/conflict-callbacks.c
  (handle_text_conflict): Use svn_err_best_message() instead of hand-rolling
   an error messsage to fall back on. Inform the user if falling back to the
   internal merge tool.

Modified:
    subversion/trunk/subversion/svn/conflict-callbacks.c

Modified: subversion/trunk/subversion/svn/conflict-callbacks.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/conflict-callbacks.c?rev=1574459&r1=1574458&r2=1574459&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/conflict-callbacks.c (original)
+++ subversion/trunk/subversion/svn/conflict-callbacks.c Wed Mar  5 12:48:55 2014
@@ -821,12 +821,24 @@ handle_text_conflict(svn_wc_conflict_res
           err = launch_resolver(&performed_edit, desc, b, iterpool);
           if (err)
             {
-              if (err->apr_err == SVN_ERR_CL_NO_EXTERNAL_MERGE_TOOL ||
-                  err->apr_err == SVN_ERR_EXTERNAL_PROGRAM)
+              if (err->apr_err == SVN_ERR_CL_NO_EXTERNAL_MERGE_TOOL)
                 {
                   /* Try the internal merge tool. */
                   svn_error_clear(err);
                 }
+              else if (err->apr_err == SVN_ERR_EXTERNAL_PROGRAM)
+                {
+                  char buf[1024];
+                  const char *message;
+
+                  message = svn_err_best_message(err, buf, sizeof(buf));
+                  SVN_ERR(svn_cmdline_fprintf(stderr, iterpool,
+                                              "%s\n", message));
+                  SVN_ERR(svn_cmdline_fputs(_("Falling back to internal "
+                                              "merge tool.\n"), stderr,
+                                              iterpool));
+                  svn_error_clear(err);
+                }
               else
                 return svn_error_trace(err);
             }