Hey all,
Here's shot #2 at $subj. The log message is crazy long because I
touched lots of files in one spot. As it stands, the only subcommand
that treats "_svn" or ".svn" as an error is update because that's the
only one that it seemed to me needed to be that way.
Peace,
Augie
[[[
Fix issue 3026: _svn and .svn are silently ignored as file arguments.
* subversion/include/svn_error_codes.h
(SVN_ERR_RESERVED_FILENAME_SPECIFIED): New error code for when reserved file
arguments are encountered.
* subversion/libsvn_wc/adm_files.c:
(svn_wc_set_adm_dir): Updated comment to reflect the change of location for
the other code block.
* subversion/include/svn_opt.h:
(svn_opt_args_to_target_array3): New function prototype.
* subversion/libsvn_subr/opt.c:
(svn_opt_args_to_target_array3): New function. Behaves like
svn_opt_args_to_target_array2 except this one returns errors instead of
silently ignoring reserved file names.
(svn_opt_args_to_target_array2): Reimplemented to wrap
svn_opt_args_to_target_array2 but filter out any error about reserved
filenames.
* subversion/svn/cl.h:
(svn_cl__args_to_target_array_print_reserved): New function prototype.
* subversion/svn/util.c:
(svn_cl_args_to_target_array_print_reserved): New function. Convenience
function to wrap svn_opt_args_to_target_array_3 and print any errors about
reserved filenames to stderr before returning.
* subversion/bindings/swig/core.i:
(svn_opt_args_to_target_array3): Ignore this function as well.
* subversion/svn/merge-cmd.c:
(svn_cl__merge): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/propdel-cmd.c:
(svn_cl__propdel): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored. Updated comment to reflect this.
* subversion/svn/checkout-cmd.c:
(svn_cl__checkout): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/move-cmd.c:
(svn_cl__move): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/mkdir-cmd.c:
(svn_cl__mkdir): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/cat-cmd.c:
(svn_cl__cat): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored. Updated comment to reflect this.
* subversion/svn/revert-cmd.c:
(svn_cl__revert): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored. Updated comment to reflect this.
* subversion/svn/diff-cmd.c:
(svn_cl__diff): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored. Updated comment to reflect this.
* subversion/svn/copy-cmd.c:
(svn_cl__copy): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/mergeinfo-cmd.c:
(svn_cl__mergeinfo): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/list-cmd.c:
(svn_cl__list): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/blame-cmd.c:
(svn_cl__blame): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/propget-cmd.c:
(svn_cl__propget): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored. Updated comment to reflect this.
* subversion/svn/changelist-cmd.c:
(svn_cl__changelist): Use svn_cl__args_to_target_array_print_reserved instead
of svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored. Updated comment to reflect this.
* subversion/svn/propdel-cmd.c:
(svn_cl__propdel): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored. Updated comment to reflect this.
* subversion/svn/log-cmd.c:
(svn_cl__log): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored. Updated comment to reflect this.
* subversion/svn/update-cmd.c:
(svn_cl__propdel): Use svn_opt_args_to_target_array3 instead of
svn_opt_args_to_target_array2 so that reserved filenames exit as an error.
* subversion/svn/resolved-cmd.c:
(svn_cl__resloved): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/cleanup-cmd.c:
(svn_cl__cleanup): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/commit-cmd.c:
(svn_cl__commit): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/add-cmd.c:
(svn_cl__add): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/propset-cmd.c:
(svn_cl__propset): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored. Updated comment to reflect this.
* subversion/svn/switch-cmd.c:
(svn_cl__switch): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/delete-cmd.c:
(svn_cl__delete): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/import-cmd.c:
(svn_cl__import): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/proplist-cmd.c:
(svn_cl__proplist): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored. Updated comment to reflect this.
* subversion/svn/export-cmd.c:
(svn_cl__export): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored. Updated comment to reflect this.
* subversion/svn/propdel-cmd.c:
(svn_cl__propdel): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/status-cmd.c:
(svn_cl__status): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored. Updated comment to reflect this.
* subversion/svn/propedit-cmd.c:
(svn_cl__propdel): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored.
* subversion/svn/lock-cmd.c:
(svn_cl__lock): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored. Updated comment to reflect this.
* subversion/svn/info-cmd.c:
(svn_cl__info): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored. Updated comment to reflect this.
* subversion/svn/unlock-cmd.c:
(svn_cl__unlock): Use svn_cl__args_to_target_array_print_reserved instead of
svn_opt_args_to_target_array2 so that reserved filenames aren't silently
ignored. Updated comment to reflect this.
Patch by: Augie Fackler: <durin42@gmail.com>
]]]
Index: subversion/include/svn_error_codes.h
===================================================================
--- subversion/include/svn_error_codes.h (revision 28046)
+++ subversion/include/svn_error_codes.h (working copy)
@@ -1121,6 +1121,10 @@
SVN_ERRDEF(SVN_ERR_UNKNOWN_CHANGELIST,
SVN_ERR_MISC_CATEGORY_START + 24,
"Unknown changelist")
+
+ SVN_ERRDEF(SVN_ERR_RESERVED_FILENAME_SPECIFIED,
+ SVN_ERR_MISC_CATEGORY_START + 25,
+ "Reserved directory name in command line arguments")
/* command-line client errors */
Index: subversion/include/svn_opt.h
===================================================================
--- subversion/include/svn_opt.h (revision 28046)
+++ subversion/include/svn_opt.h (working copy)
@@ -471,7 +471,19 @@
apr_array_header_t *known_targets,
apr_pool_t *pool);
+/**
+ * This is the same as svn_opt_args_to_target_array2() except that it returns
+ * errors when a path has the same name as a working copy directory.
+ *
+ * @since New in 1.5.
+ */
+svn_error_t *
+svn_opt_args_to_target_array3(apr_array_header_t **targets_p,
+ apr_getopt_t *os,
+ apr_array_header_t *known_targets,
+ apr_pool_t *pool);
+
/**
* The same as svn_opt_args_to_target_array2() except that, in
* addition, if @a extract_revisions is set, then look for trailing
Index: subversion/libsvn_wc/adm_files.c
===================================================================
--- subversion/libsvn_wc/adm_files.c (revision 28046)
+++ subversion/libsvn_wc/adm_files.c (working copy)
@@ -76,7 +76,7 @@
FIXME:
An identical list is used in
- libsvn_subr/opt.c:svn_opt_args_to_target_array2(),
+ libsvn_subr/opt.c:svn_opt_args_to_target_array3(),
but that function can't use this list, because that use would
create a circular dependency between libsvn_wc and libsvn_subr.
Make sure changes to the lists are always synchronized! */
Index: subversion/libsvn_subr/opt.c
===================================================================
--- subversion/libsvn_subr/opt.c (revision 28046)
+++ subversion/libsvn_subr/opt.c (working copy)
@@ -872,7 +872,30 @@
apr_array_header_t *known_targets,
apr_pool_t *pool)
{
+ svn_error_t *error = svn_opt_args_to_target_array3(targets_p,
+ os,
+ known_targets,
+ pool);
+ if (error)
+ {
+ if (error->apr_err == SVN_ERR_RESERVED_FILENAME_SPECIFIED)
+ svn_error_clear(error);
+ else
+ return error;
+ }
+ return SVN_NO_ERROR;
+
+}
+
+
+svn_error_t *
+svn_opt_args_to_target_array3(apr_array_header_t **targets_p,
+ apr_getopt_t *os,
+ apr_array_header_t *known_targets,
+ apr_pool_t *pool)
+{
int i;
+ svn_error_t *error = SVN_NO_ERROR;
apr_array_header_t *input_targets =
apr_array_make(pool, DEFAULT_ARRAY_SIZE, sizeof(const char *));
apr_array_header_t *output_targets =
@@ -1010,7 +1033,14 @@
synchronized! */
if (0 == strcmp(base_name, ".svn")
|| 0 == strcmp(base_name, "_svn"))
- continue;
+ {
+ char *error_str = apr_psprintf(pool, _("'%s' ends in a "
+ "reserved name"), target);
+ error = svn_error_create(SVN_ERR_RESERVED_FILENAME_SPECIFIED,
+ error,
+ error_str);
+ continue;
+ }
}
/* Append the peg revision back to the canonicalized target if
@@ -1026,6 +1056,8 @@
passing it to the cmd_func. */
*targets_p = output_targets;
+ if (error)
+ return error;
return SVN_NO_ERROR;
}
Index: subversion/bindings/swig/core.i
===================================================================
--- subversion/bindings/swig/core.i (revision 28046)
+++ subversion/bindings/swig/core.i (working copy)
@@ -684,6 +684,7 @@
%ignore svn_commit_info_dup;
%ignore svn_opt_args_to_target_array2;
+%ignore svn_opt_args_to_target_array3;
%ignore svn_opt_parse_num_args;
%ignore svn_opt_parse_all_args;
#endif
Index: subversion/svn/merge-cmd.c
===================================================================
--- subversion/svn/merge-cmd.c (revision 28046)
+++ subversion/svn/merge-cmd.c (working copy)
@@ -50,8 +50,9 @@
peg_revision2;
apr_array_header_t *options;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
if (targets->nelts >= 1)
{
SVN_ERR(svn_opt_parse_path(&peg_revision1, &sourcepath1,
Index: subversion/svn/cl.h
===================================================================
--- subversion/svn/cl.h (revision 28046)
+++ subversion/svn/cl.h (working copy)
@@ -599,6 +599,12 @@
apr_pool_t *pool);
+svn_error_t *
+svn_cl__args_to_target_array_print_reserved(apr_array_header_t **targets_p,
+ apr_getopt_t *os,
+ apr_array_header_t *known_targets,
+ apr_pool_t *pool);
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
Index: subversion/svn/propdel-cmd.c
===================================================================
--- subversion/svn/propdel-cmd.c (revision 28046)
+++ subversion/svn/propdel-cmd.c (working copy)
@@ -57,9 +57,9 @@
properties, and it may even be useful to allow, in case invalid
properties sneaked through somehow. */
- /* Before allowing svn_opt_args_to_target_array2() to canonicalize
- all the targets, we need to build a list of targets made of both
- ones the user typed, as well as any specified by --changelist. */
+ /* Before allowing svn_cl__args_to_target_array_print_reserved() to
+ canonicalize all the targets, we need to build a list of targets made
+ of both ones the user typed, as well as any specified by --changelist. */
if (opt_state->changelist)
{
SVN_ERR(svn_client_get_changelist(&changelist_targets,
@@ -81,8 +81,8 @@
else if (changelist_targets)
combined_targets = changelist_targets;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- combined_targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ combined_targets, pool));
/* Add "." if user passed 0 file arguments */
svn_opt_push_implicit_dot_target(targets, pool);
Index: subversion/svn/checkout-cmd.c
===================================================================
--- subversion/svn/checkout-cmd.c (revision 28046)
+++ subversion/svn/checkout-cmd.c (working copy)
@@ -70,8 +70,9 @@
const char *repos_url;
int i;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
if (! targets->nelts)
return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL);
Index: subversion/svn/move-cmd.c
===================================================================
--- subversion/svn/move-cmd.c (revision 28046)
+++ subversion/svn/move-cmd.c (working copy)
@@ -46,8 +46,9 @@
svn_commit_info_t *commit_info = NULL;
svn_error_t *err;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
if (targets->nelts < 2)
return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL);
Index: subversion/svn/mkdir-cmd.c
===================================================================
--- subversion/svn/mkdir-cmd.c (revision 28046)
+++ subversion/svn/mkdir-cmd.c (working copy)
@@ -45,8 +45,9 @@
svn_commit_info_t *commit_info = NULL;
svn_error_t *err;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
if (! targets->nelts)
return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL);
Index: subversion/svn/cat-cmd.c
===================================================================
--- subversion/svn/cat-cmd.c (revision 28046)
+++ subversion/svn/cat-cmd.c (working copy)
@@ -43,8 +43,9 @@
svn_stream_t *out;
apr_pool_t *subpool = svn_pool_create(pool);
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
/* Cat cannot operate on an implicit '.' so a filename is required */
if (! targets->nelts)
Index: subversion/svn/revert-cmd.c
===================================================================
--- subversion/svn/revert-cmd.c (revision 28046)
+++ subversion/svn/revert-cmd.c (working copy)
@@ -44,9 +44,9 @@
apr_array_header_t *changelist_targets = NULL, *combined_targets = NULL;
svn_error_t *err;
- /* Before allowing svn_opt_args_to_target_array2() to canonicalize
- all the targets, we need to build a list of targets made of both
- ones the user typed, as well as any specified by --changelist. */
+ /* Before allowing svn_cl__args_to_target_array_print_reserved() to
+ canonicalize all the targets, we need to build a list of targets made
+ of both ones the user typed, as well as any specified by --changelist. */
if (opt_state->changelist)
{
SVN_ERR(svn_client_get_changelist(&changelist_targets,
@@ -68,7 +68,8 @@
else if (changelist_targets)
combined_targets = changelist_targets;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os, combined_targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ combined_targets, pool));
/* Revert has no implicit dot-target `.', so don't you put that code here! */
if (! targets->nelts)
Index: subversion/svn/diff-cmd.c
===================================================================
--- subversion/svn/diff-cmd.c (revision 28046)
+++ subversion/svn/diff-cmd.c (working copy)
@@ -189,7 +189,7 @@
SVN_ERR(svn_cl__error_checked_fputs(sb->data, stdout));
}
- /* Before allowing svn_opt_args_to_target_array2() to canonicalize
+ /* Before allowing svn_cl__args_to_target_array_print_reserved() to canonicalize
all the targets, we need to build a list of targets made of both
ones the user typed, as well as any specified by --changelist. */
if (opt_state->changelist)
@@ -213,8 +213,8 @@
else if (changelist_targets)
combined_targets = changelist_targets;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- combined_targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ combined_targets, pool));
if (! opt_state->old_target && ! opt_state->new_target
&& (targets->nelts == 2)
@@ -253,7 +253,8 @@
: APR_ARRAY_IDX(tmp, 0,
const char *));
- SVN_ERR(svn_opt_args_to_target_array2(&tmp2, os, tmp, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&tmp2, os, tmp,
+ pool));
SVN_ERR(svn_opt_parse_path(&old_rev, &old_target,
APR_ARRAY_IDX(tmp2, 0, const char *),
pool));
Index: subversion/svn/copy-cmd.c
===================================================================
--- subversion/svn/copy-cmd.c (revision 28046)
+++ subversion/svn/copy-cmd.c (working copy)
@@ -47,8 +47,9 @@
svn_error_t *err;
int i;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
if (targets->nelts < 2)
return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL);
Index: subversion/svn/mergeinfo-cmd.c
===================================================================
--- subversion/svn/mergeinfo-cmd.c (revision 28046)
+++ subversion/svn/mergeinfo-cmd.c (working copy)
@@ -72,8 +72,9 @@
apr_pool_t *subpool = svn_pool_create(pool);
int i;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
/* Add "." if user passed 0 arguments. */
svn_opt_push_implicit_dot_target(targets, pool);
Index: subversion/svn/list-cmd.c
===================================================================
--- subversion/svn/list-cmd.c (revision 28046)
+++ subversion/svn/list-cmd.c (working copy)
@@ -218,8 +218,9 @@
apr_uint32_t dirent_fields;
struct print_baton pb;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
/* Add "." if user passed 0 arguments */
svn_opt_push_implicit_dot_target(targets, pool);
Index: subversion/svn/util.c
===================================================================
--- subversion/svn/util.c (revision 28046)
+++ subversion/svn/util.c (working copy)
@@ -1006,3 +1006,25 @@
return "";
}
}
+
+
+svn_error_t *
+svn_cl__args_to_target_array_print_reserved(apr_array_header_t **targets,
+ apr_getopt_t *os,
+ apr_array_header_t *known_targets,
+ apr_pool_t *pool)
+{
+ svn_error_t *error = svn_opt_args_to_target_array3(targets, os,
+ known_targets, pool);
+ if (error)
+ {
+ if (error->apr_err == SVN_ERR_RESERVED_FILENAME_SPECIFIED)
+ {
+ svn_handle_error2(error, stderr, FALSE, "svn: Skipping argument: ");
+ svn_error_clear(error);
+ }
+ else
+ return error;
+ }
+ return SVN_NO_ERROR;
+}
Index: subversion/svn/propget-cmd.c
===================================================================
--- subversion/svn/propget-cmd.c (revision 28046)
+++ subversion/svn/propget-cmd.c (working copy)
@@ -181,9 +181,9 @@
_("'%s' is not a valid Subversion property name"),
pname_utf8);
- /* Before allowing svn_opt_args_to_target_array2() to canonicalize
- all the remaining targets, we need to build a list of targets made of both
- ones the user typed, as well as any specified by --changelist. */
+ /* Before allowing svn_cl__args_to_target_array_print_reserved() to
+ canonicalize all the targets, we need to build a list of targets made
+ of both ones the user typed, as well as any specified by --changelist. */
if (opt_state->changelist)
{
SVN_ERR(svn_client_get_changelist(&changelist_targets,
@@ -205,8 +205,8 @@
else if (changelist_targets)
combined_targets = changelist_targets;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- combined_targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ combined_targets, pool));
/* Add "." if user passed 0 file arguments */
svn_opt_push_implicit_dot_target(targets, pool);
Index: subversion/svn/blame-cmd.c
===================================================================
--- subversion/svn/blame-cmd.c (revision 28046)
+++ subversion/svn/blame-cmd.c (working copy)
@@ -192,8 +192,9 @@
svn_boolean_t end_revision_unspecified = FALSE;
svn_diff_file_options_t *diff_options = svn_diff_file_options_create(pool);
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
/* Blame needs a file on which to operate. */
if (! targets->nelts)
Index: subversion/svn/log-cmd.c
===================================================================
--- subversion/svn/log-cmd.c (revision 28046)
+++ subversion/svn/log-cmd.c (working copy)
@@ -467,9 +467,9 @@
" XML mode"));
}
- /* Before allowing svn_opt_args_to_target_array2() to canonicalize
- all the targets, we need to build a list of targets made of both
- ones the user typed, as well as any specified by --changelist. */
+ /* Before allowing svn_cl__args_to_target_array_print_reserved() to
+ canonicalize all the targets, we need to build a list of targets made
+ of both ones the user typed, as well as any specified by --changelist. */
if (opt_state->changelist)
{
SVN_ERR(svn_client_get_changelist(&changelist_targets,
@@ -491,8 +491,8 @@
else if (changelist_targets)
combined_targets = changelist_targets;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- combined_targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ combined_targets, pool));
/* Add "." if user passed 0 arguments */
svn_opt_push_implicit_dot_target(targets, pool);
Index: subversion/svn/changelist-cmd.c
===================================================================
--- subversion/svn/changelist-cmd.c (revision 28046)
+++ subversion/svn/changelist-cmd.c (working copy)
@@ -47,9 +47,9 @@
apr_array_header_t *paths;
int i;
- /* Before allowing svn_opt_args_to_target_array2() to canonicalize
- all the targets, we need to build a list of targets made of both
- ones the user typed, as well as any specified by --changelist. */
+ /* Before allowing svn_cl__args_to_target_array_print_reserved() to
+ canonicalize all the targets, we need to build a list of targets made
+ of both ones the user typed, as well as any specified by --changelist. */
if (opt_state->changelist)
{
SVN_ERR(svn_client_get_changelist(&changelist_targets,
@@ -71,8 +71,8 @@
else if (changelist_targets)
combined_targets = changelist_targets;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- combined_targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ combined_targets, pool));
if (opt_state->remove)
{
Index: subversion/svn/update-cmd.c
===================================================================
--- subversion/svn/update-cmd.c (revision 28046)
+++ subversion/svn/update-cmd.c (working copy)
@@ -45,9 +45,9 @@
apr_array_header_t *targets;
apr_array_header_t *changelist_targets = NULL, *combined_targets = NULL;
- /* Before allowing svn_opt_args_to_target_array2() to canonicalize
- all the targets, we need to build a list of targets made of both
- ones the user typed, as well as any specified by --changelist. */
+ /* Before allowing svn_cl__args_to_target_array_print_reserved() to
+ canonicalize all the targets, we need to build a list of targets made
+ of both ones the user typed, as well as any specified by --changelist. */
if (opt_state->changelist)
{
SVN_ERR(svn_client_get_changelist(&changelist_targets,
@@ -69,8 +69,7 @@
else if (changelist_targets)
combined_targets = changelist_targets;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- combined_targets, pool));
+ SVN_ERR(svn_opt_args_to_target_array3(&targets, os, combined_targets, pool));
/* Add "." if user passed 0 arguments */
svn_opt_push_implicit_dot_target(targets, pool);
Index: subversion/svn/resolved-cmd.c
===================================================================
--- subversion/svn/resolved-cmd.c (revision 28046)
+++ subversion/svn/resolved-cmd.c (working copy)
@@ -68,8 +68,9 @@
_("invalid 'accept' ARG"));
}
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
if (! targets->nelts)
return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL);
Index: subversion/svn/cleanup-cmd.c
===================================================================
--- subversion/svn/cleanup-cmd.c (revision 28046)
+++ subversion/svn/cleanup-cmd.c (working copy)
@@ -43,8 +43,9 @@
apr_pool_t *subpool;
int i;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
/* Add "." if user passed 0 arguments */
svn_opt_push_implicit_dot_target(targets, pool);
Index: subversion/svn/add-cmd.c
===================================================================
--- subversion/svn/add-cmd.c (revision 28046)
+++ subversion/svn/add-cmd.c (working copy)
@@ -45,8 +45,9 @@
int i;
apr_pool_t *subpool;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
if (! targets->nelts)
return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL);
Index: subversion/svn/commit-cmd.c
===================================================================
--- subversion/svn/commit-cmd.c (revision 28046)
+++ subversion/svn/commit-cmd.c (working copy)
@@ -51,8 +51,9 @@
svn_boolean_t no_unlock = FALSE;
svn_commit_info_t *commit_info = NULL;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
/* Add "." if user passed 0 arguments. */
svn_opt_push_implicit_dot_target(targets, pool);
Index: subversion/svn/propset-cmd.c
===================================================================
--- subversion/svn/propset-cmd.c (revision 28046)
+++ subversion/svn/propset-cmd.c (working copy)
@@ -91,9 +91,9 @@
/* Suck up all the remaining arguments into a targets array */
- /* Before allowing svn_opt_args_to_target_array2() to canonicalize
- all the targets, we need to build a list of targets made of both
- ones the user typed, as well as any specified by --changelist. */
+ /* Before allowing svn_cl__args_to_target_array_print_reserved() to
+ canonicalize all the targets, we need to build a list of targets made
+ of both ones the user typed, as well as any specified by --changelist. */
if (opt_state->changelist)
{
SVN_ERR(svn_client_get_changelist(&changelist_targets,
@@ -115,8 +115,8 @@
else if (changelist_targets)
combined_targets = changelist_targets;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- combined_targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ combined_targets, pool));
if (opt_state->revprop) /* operate on a revprop */
{
Index: subversion/svn/switch-cmd.c
===================================================================
--- subversion/svn/switch-cmd.c (revision 28046)
+++ subversion/svn/switch-cmd.c (working copy)
@@ -97,8 +97,9 @@
/* This command should discover (or derive) exactly two cmdline
arguments: a local path to update ("target"), and a new url to
switch to ("switch_url"). */
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
/* handle only-rewrite case specially */
if (opt_state->relocate)
Index: subversion/svn/delete-cmd.c
===================================================================
--- subversion/svn/delete-cmd.c (revision 28046)
+++ subversion/svn/delete-cmd.c (working copy)
@@ -44,8 +44,9 @@
svn_commit_info_t *commit_info = NULL;
svn_error_t *err;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
if (! targets->nelts)
return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL);
Index: subversion/svn/import-cmd.c
===================================================================
--- subversion/svn/import-cmd.c (revision 28046)
+++ subversion/svn/import-cmd.c (working copy)
@@ -73,8 +73,9 @@
* ### kff todo: review above behaviors.
*/
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
if (targets->nelts < 1)
return svn_error_create
Index: subversion/svn/proplist-cmd.c
===================================================================
--- subversion/svn/proplist-cmd.c (revision 28046)
+++ subversion/svn/proplist-cmd.c (working copy)
@@ -113,9 +113,9 @@
apr_array_header_t *changelist_targets = NULL, *combined_targets = NULL;
int i;
- /* Before allowing svn_opt_args_to_target_array2() to canonicalize
- all the targets, we need to build a list of targets made of both
- ones the user typed, as well as any specified by --changelist. */
+ /* Before allowing svn_cl__args_to_target_array_print_reserved() to
+ canonicalize all the targets, we need to build a list of targets made
+ of both ones the user typed, as well as any specified by --changelist. */
if (opt_state->changelist)
{
SVN_ERR(svn_client_get_changelist(&changelist_targets,
@@ -137,8 +137,8 @@
else if (changelist_targets)
combined_targets = changelist_targets;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- combined_targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ combined_targets, pool));
/* Add "." if user passed 0 arguments */
svn_opt_push_implicit_dot_target(targets, pool);
Index: subversion/svn/export-cmd.c
===================================================================
--- subversion/svn/export-cmd.c (revision 28046)
+++ subversion/svn/export-cmd.c (working copy)
@@ -46,8 +46,9 @@
svn_opt_revision_t peg_revision;
const char *truefrom;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
/* We want exactly 1 or 2 targets for this subcommand. */
if (targets->nelts < 1)
Index: subversion/svn/status-cmd.c
===================================================================
--- subversion/svn/status-cmd.c (revision 28046)
+++ subversion/svn/status-cmd.c (working copy)
@@ -216,9 +216,9 @@
svn_opt_revision_t rev;
struct status_baton sb;
- /* Before allowing svn_opt_args_to_target_array2() to canonicalize
- all the targets, we need to build a list of targets made of both
- ones the user typed, as well as any specified by --changelist. */
+ /* Before allowing svn_cl__args_to_target_array_print_reserved() to
+ canonicalize all the targets, we need to build a list of targets made
+ of both ones the user typed, as well as any specified by --changelist. */
if (opt_state->changelist)
{
SVN_ERR(svn_client_get_changelist(&changelist_targets,
@@ -240,8 +240,8 @@
else if (changelist_targets)
combined_targets = changelist_targets;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- combined_targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ combined_targets, pool));
/* We want our -u statuses to be against HEAD. */
rev.kind = svn_opt_revision_head;
Index: subversion/svn/propedit-cmd.c
===================================================================
--- subversion/svn/propedit-cmd.c (revision 28046)
+++ subversion/svn/propedit-cmd.c (working copy)
@@ -61,8 +61,9 @@
pname_utf8);
/* Suck up all the remaining arguments into a targets array */
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- opt_state->targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ opt_state->targets,
+ pool));
if (opt_state->revprop) /* operate on a revprop */
{
Index: subversion/svn/lock-cmd.c
===================================================================
--- subversion/svn/lock-cmd.c (revision 28046)
+++ subversion/svn/lock-cmd.c (working copy)
@@ -86,9 +86,9 @@
apr_array_header_t *changelist_targets = NULL, *combined_targets = NULL;
const char *comment;
- /* Before allowing svn_opt_args_to_target_array2() to canonicalize
- all the targets, we need to build a list of targets made of both
- ones the user typed, as well as any specified by --changelist. */
+ /* Before allowing svn_cl__args_to_target_array_print_reserved() to
+ canonicalize all the targets, we need to build a list of targets made
+ of both ones the user typed, as well as any specified by --changelist. */
if (opt_state->changelist)
{
SVN_ERR(svn_client_get_changelist(&changelist_targets,
@@ -110,8 +110,8 @@
else if (changelist_targets)
combined_targets = changelist_targets;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- combined_targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ combined_targets, pool));
/* We only support locking files, so '.' is not valid. */
if (! targets->nelts)
Index: subversion/svn/info-cmd.c
===================================================================
--- subversion/svn/info-cmd.c (revision 28046)
+++ subversion/svn/info-cmd.c (working copy)
@@ -451,9 +451,9 @@
svn_opt_revision_t peg_revision;
svn_info_receiver_t receiver;
- /* Before allowing svn_opt_args_to_target_array2() to canonicalize
- all the targets, we need to build a list of targets made of both
- ones the user typed, as well as any specified by --changelist. */
+ /* Before allowing svn_cl__args_to_target_array_print_reserved() to
+ canonicalize all the targets, we need to build a list of targets made
+ of both ones the user typed, as well as any specified by --changelist. */
if (opt_state->changelist)
{
SVN_ERR(svn_client_get_changelist(&changelist_targets,
@@ -475,8 +475,8 @@
else if (changelist_targets)
combined_targets = changelist_targets;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- combined_targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ combined_targets, pool));
/* Add "." if user passed 0 arguments. */
svn_opt_push_implicit_dot_target(targets, pool);
Index: subversion/svn/unlock-cmd.c
===================================================================
--- subversion/svn/unlock-cmd.c (revision 28046)
+++ subversion/svn/unlock-cmd.c (working copy)
@@ -45,9 +45,9 @@
apr_array_header_t *targets;
apr_array_header_t *changelist_targets = NULL, *combined_targets = NULL;
- /* Before allowing svn_opt_args_to_target_array2() to canonicalize
- all the targets, we need to build a list of targets made of both
- ones the user typed, as well as any specified by --changelist. */
+ /* Before allowing svn_cl__args_to_target_array_print_reserved() to
+ canonicalize all the targets, we need to build a list of targets made
+ of both ones the user typed, as well as any specified by --changelist. */
if (opt_state->changelist)
{
SVN_ERR(svn_client_get_changelist(&changelist_targets,
@@ -69,8 +69,8 @@
else if (changelist_targets)
combined_targets = changelist_targets;
- SVN_ERR(svn_opt_args_to_target_array2(&targets, os,
- combined_targets, pool));
+ SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
+ combined_targets, pool));
/* We don't support unlock on directories, so "." is not relevant. */
if (! targets->nelts)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Nov 27 03:18:54 2007