You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2011/04/20 22:25:33 UTC

svn commit: r1095502 - in /subversion/trunk/subversion: include/svn_wc.h libsvn_client/merge.c libsvn_client/switch.c libsvn_client/update.c libsvn_wc/deprecated.c libsvn_wc/merge.c

Author: rhuijben
Date: Wed Apr 20 20:25:33 2011
New Revision: 1095502

URL: http://svn.apache.org/viewvc?rev=1095502&view=rev
Log:
In the non deprecated libsvn_wc code assume that all diff3_cmd arguments are
utf-8 encoded. Update documentation, libsvn_client callers and pre 1.7
deprecated functions.

* subversion/include/svn_wc.h
  (svn_wc_get_update_editor3,
   svn_wc_get_switch_editor3,
   svn_wc_merge3): Update documentation of these deprecated functions to
     mention that these functions expected a non standard encoded argument.

* subversion/libsvn_client/merge.c
  (do_merge): Convert configuration value to utf-8.

* subversion/libsvn_client/switch.c
  (switch_internal): Convert configuration value to utf-8.

* subversion/libsvn_client/update.c
  (update_internal): Convert configuration value to utf-8.

* subversion/libsvn_wc/deprecated.c
  (svn_wc_get_update_editor3,
   svn_wc_get_switch_editor3,
   svn_wc_merge3): Convert argument to utf-8 before calling newer function.

* subversion/libsvn_wc/merge.c
  (do_text_merge_external): Call svn_io_run_diff3_3().

Modified:
    subversion/trunk/subversion/include/svn_wc.h
    subversion/trunk/subversion/libsvn_client/merge.c
    subversion/trunk/subversion/libsvn_client/switch.c
    subversion/trunk/subversion/libsvn_client/update.c
    subversion/trunk/subversion/libsvn_wc/deprecated.c
    subversion/trunk/subversion/libsvn_wc/merge.c

Modified: subversion/trunk/subversion/include/svn_wc.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_wc.h?rev=1095502&r1=1095501&r2=1095502&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_wc.h (original)
+++ subversion/trunk/subversion/include/svn_wc.h Wed Apr 20 20:25:33 2011
@@ -5380,6 +5380,9 @@ svn_wc_get_update_editor4(const svn_delt
  * Always sets @a adds_as_modification to TRUE and @a server_performs_filtering
  * to FALSE.
  *
+ * This function assumes that @a diff3_cmd is path encoded. Later versions
+ * assume utf-8.
+ *
  * @since New in 1.5.
  * @deprecated Provided for backward compatibility with the 1.6 API.
  */
@@ -5508,6 +5511,9 @@ svn_wc_get_switch_editor4(const svn_delt
  *
  * Always sets @a server_performs_filtering to FALSE.
  *
+ * This function assumes that @a diff3_cmd is path encoded. Later versions
+ * assume utf-8.
+ *
  * @since New in 1.5.
  * @deprecated Provided for backward compatibility with the 1.6 API.
  */
@@ -6379,6 +6385,9 @@ svn_wc_merge4(enum svn_wc_merge_outcome_
  * baton. It doesn't support a cancel function or tracking origin version
  * information.
  *
+ * This function assumes that @a diff3_cmd is path encoded. Later versions
+ * assume utf-8.
+ *
  * @since New in 1.5.
  * @deprecated Provided for backwards compatibility with the 1.6 API.
  */

Modified: subversion/trunk/subversion/libsvn_client/merge.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/merge.c?rev=1095502&r1=1095501&r2=1095502&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/merge.c (original)
+++ subversion/trunk/subversion/libsvn_client/merge.c Wed Apr 20 20:25:33 2011
@@ -8708,6 +8708,8 @@ do_merge(apr_hash_t **modified_subtrees,
   svn_config_get(cfg, &diff3_cmd, SVN_CONFIG_SECTION_HELPERS,
                  SVN_CONFIG_OPTION_DIFF3_CMD, NULL);
 
+  if (diff3_cmd != NULL)
+    SVN_ERR(svn_path_cstring_to_utf8(&diff3_cmd, diff3_cmd, pool));
 
   /* Build the merge context baton (or at least the parts of it that
      don't need to be reset for each merge source).  */

Modified: subversion/trunk/subversion/libsvn_client/switch.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/switch.c?rev=1095502&r1=1095501&r2=1095502&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/switch.c (original)
+++ subversion/trunk/subversion/libsvn_client/switch.c Wed Apr 20 20:25:33 2011
@@ -106,6 +106,9 @@ switch_internal(svn_revnum_t *result_rev
   svn_config_get(cfg, &diff3_cmd, SVN_CONFIG_SECTION_HELPERS,
                  SVN_CONFIG_OPTION_DIFF3_CMD, NULL);
 
+  if (diff3_cmd != NULL)
+    SVN_ERR(svn_path_cstring_to_utf8(&diff3_cmd, diff3_cmd, pool));
+
   /* See if the user wants last-commit timestamps instead of current ones. */
   SVN_ERR(svn_config_get_bool(cfg, &use_commit_times,
                               SVN_CONFIG_SECTION_MISCELLANY,

Modified: subversion/trunk/subversion/libsvn_client/update.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/update.c?rev=1095502&r1=1095501&r2=1095502&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/update.c (original)
+++ subversion/trunk/subversion/libsvn_client/update.c Wed Apr 20 20:25:33 2011
@@ -165,6 +165,9 @@ update_internal(svn_revnum_t *result_rev
   svn_config_get(cfg, &diff3_cmd, SVN_CONFIG_SECTION_HELPERS,
                  SVN_CONFIG_OPTION_DIFF3_CMD, NULL);
 
+  if (diff3_cmd != NULL)
+    SVN_ERR(svn_path_cstring_to_utf8(&diff3_cmd, diff3_cmd, pool));
+
   /* See if the user wants last-commit timestamps instead of current ones. */
   SVN_ERR(svn_config_get_bool(cfg, &use_commit_times,
                               SVN_CONFIG_SECTION_MISCELLANY,

Modified: subversion/trunk/subversion/libsvn_wc/deprecated.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/deprecated.c?rev=1095502&r1=1095501&r2=1095502&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/deprecated.c (original)
+++ subversion/trunk/subversion/libsvn_wc/deprecated.c Wed Apr 20 20:25:33 2011
@@ -2982,6 +2982,9 @@ svn_wc_get_update_editor3(svn_revnum_t *
       external_func = traversal_info_update;
     }
 
+  if (diff3_cmd)
+    SVN_ERR(svn_path_cstring_to_utf8(&diff3_cmd, diff3_cmd, pool));
+
   SVN_ERR(svn_wc_get_update_editor4(editor, edit_baton,
                                     target_revision,
                                     wc_ctx,
@@ -3100,6 +3103,9 @@ svn_wc_get_switch_editor3(svn_revnum_t *
       external_func = traversal_info_update;
     }
 
+  if (diff3_cmd)
+    SVN_ERR(svn_path_cstring_to_utf8(&diff3_cmd, diff3_cmd, pool));
+
   SVN_ERR(svn_wc_get_switch_editor4(editor, edit_baton,
                                     target_revision,
                                     wc_ctx,
@@ -3744,6 +3750,9 @@ svn_wc_merge3(enum svn_wc_merge_outcome_
 
   SVN_ERR(svn_wc__context_create_with_db(&wc_ctx, NULL /* config */, db, pool));
 
+  if (diff3_cmd)
+    SVN_ERR(svn_path_cstring_to_utf8(&diff3_cmd, diff3_cmd, pool));
+
   SVN_ERR(svn_wc_merge4(merge_outcome,
                         wc_ctx,
                         left_abspath,

Modified: subversion/trunk/subversion/libsvn_wc/merge.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/merge.c?rev=1095502&r1=1095501&r2=1095502&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/merge.c (original)
+++ subversion/trunk/subversion/libsvn_wc/merge.c Wed Apr 20 20:25:33 2011
@@ -416,7 +416,7 @@ do_text_merge_external(svn_boolean_t *co
 {
   int exit_code;
 
-  SVN_ERR(svn_io_run_diff3_2(&exit_code, ".",
+  SVN_ERR(svn_io_run_diff3_3(&exit_code, ".",
                              detranslated_target, left_abspath, right_abspath,
                              target_label, left_label, right_label,
                              result_f, diff3_cmd,