Author: rinrab
Date: Tue Dec 9 16:55:41 2025
New Revision: 1930389
Log:
On the 'utf8-cmdline-prototype' branch: UTF8-ize svnrdump program.
* subversion/svnrdump/svnrdump.c
(sub_main): Directly convert argv to UTF8 and remove all following
convertions.
* BRANCH-README.md: Update status.
Modified:
subversion/branches/utf8-cmdline-prototype/BRANCH-README.md
subversion/branches/utf8-cmdline-prototype/subversion/svnrdump/svnrdump.c
Modified: subversion/branches/utf8-cmdline-prototype/BRANCH-README.md
==============================================================================
--- subversion/branches/utf8-cmdline-prototype/BRANCH-README.md Tue Dec 9
16:34:25 2025 (r1930388)
+++ subversion/branches/utf8-cmdline-prototype/BRANCH-README.md Tue Dec 9
16:55:41 2025 (r1930389)
@@ -8,7 +8,7 @@ svndumpfilter | UTF8-ized
svnfsfs | UTF8-ized
svnlook | UTF8-ized
svnmucc | UTF8-ized
-svnrdump | ASCII
+svnrdump | UTF8-ized
svnserve | ASCII
svnsync | UTF8-ized
svnversion | ASCII
Modified:
subversion/branches/utf8-cmdline-prototype/subversion/svnrdump/svnrdump.c
==============================================================================
--- subversion/branches/utf8-cmdline-prototype/subversion/svnrdump/svnrdump.c
Tue Dec 9 16:34:25 2025 (r1930388)
+++ subversion/branches/utf8-cmdline-prototype/subversion/svnrdump/svnrdump.c
Tue Dec 9 16:55:41 2025 (r1930389)
@@ -31,7 +31,6 @@
#include "svn_ra.h"
#include "svn_repos.h"
#include "svn_path.h"
-#include "svn_utf.h"
#include "svn_private_config.h"
#include "svn_string.h"
#include "svn_props.h"
@@ -811,7 +810,7 @@ sub_main(int *exit_code,
svn_boolean_t read_pass_from_stdin = FALSE;
const char **argv;
- SVN_ERR(svn_cmdline__get_cstring_argv(&argv, argc, cmdline_argv, pool));
+ SVN_ERR(svn_cmdline__get_utf8_argv(&argv, argc, cmdline_argv, pool));
opt_baton = apr_pcalloc(pool, sizeof(*opt_baton));
opt_baton->start_revision.kind = svn_opt_revision_unspecified;
@@ -865,11 +864,9 @@ sub_main(int *exit_code,
&(opt_baton->end_revision),
opt_arg, pool) != 0)
{
- const char *utf8_opt_arg;
- SVN_ERR(svn_utf_cstring_to_utf8(&utf8_opt_arg, opt_arg, pool));
return svn_error_createf(SVN_ERR_CL_ARG_PARSING_ERROR, NULL,
_("Syntax error in revision "
- "argument '%s'"), utf8_opt_arg);
+ "argument '%s'"), opt_arg);
}
}
break;
@@ -886,10 +883,10 @@ sub_main(int *exit_code,
opt_baton->help = TRUE;
break;
case opt_auth_username:
- SVN_ERR(svn_utf_cstring_to_utf8(&username, opt_arg, pool));
+ username = apr_pstrdup(pool, opt_arg);
break;
case opt_auth_password:
- SVN_ERR(svn_utf_cstring_to_utf8(&password, opt_arg, pool));
+ password = apr_pstrdup(pool, opt_arg);
break;
case opt_auth_password_from_stdin:
read_pass_from_stdin = TRUE;
@@ -907,14 +904,12 @@ sub_main(int *exit_code,
opt_baton->incremental = TRUE;
break;
case opt_skip_revprop:
- SVN_ERR(svn_utf_cstring_to_utf8(&opt_arg, opt_arg, pool));
svn_hash_sets(opt_baton->skip_revprops, opt_arg, opt_arg);
break;
case opt_trust_server_cert: /* backward compat */
trust_unknown_ca = TRUE;
break;
case opt_trust_server_cert_failures:
- SVN_ERR(svn_utf_cstring_to_utf8(&opt_arg, opt_arg, pool));
SVN_ERR(svn_cmdline__parse_trust_options(
&trust_unknown_ca,
&trust_cn_mismatch,
@@ -929,15 +924,13 @@ sub_main(int *exit_code,
apr_array_make(pool, 1,
sizeof(svn_cmdline__config_argument_t*));
- SVN_ERR(svn_utf_cstring_to_utf8(&opt_arg, opt_arg, pool));
SVN_ERR(svn_cmdline__parse_config_option(config_options,
opt_arg,
"svnrdump: ",
pool));
break;
case 'F':
- SVN_ERR(svn_utf_cstring_to_utf8(&opt_arg, opt_arg, pool));
- opt_baton->dumpfile = opt_arg;
+ opt_baton->dumpfile = apr_pstrdup(pool, opt_arg);
break;
}
}
@@ -980,10 +973,8 @@ sub_main(int *exit_code,
}
else
{
- const char *first_arg;
+ const char *first_arg = os->argv[os->ind++];
- SVN_ERR(svn_utf_cstring_to_utf8(&first_arg, os->argv[os->ind++],
- pool));
subcommand = svn_opt_get_canonical_subcommand3(svnrdump__cmd_table,
first_arg);
@@ -1081,9 +1072,8 @@ sub_main(int *exit_code,
}
else
{
- const char *repos_url;
+ const char *repos_url = os->argv[os->ind];
- SVN_ERR(svn_utf_cstring_to_utf8(&repos_url, os->argv[os->ind], pool));
if (! svn_path_is_url(repos_url))
{
return svn_error_createf(SVN_ERR_CL_ARG_PARSING_ERROR, 0,