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,