Author: jcorvel
Date: Sat Jun 4 06:37:25 2011
New Revision: 1131326
URL: http://svn.apache.org/viewvc?rev=1131326&view=rev
Log:
Fix issue #3702 'Unable to perform case-only rename on windows' by adding an
new flag to svn_client_args_to_target_array (revving it in the process), so
it can perform specialized case-canonicalization behavior for supporting
case-only renames.
* subversion/tests/cmdline/copy_tests.py
(case_only_rename): Remove XFail marker. Fix issue description according
to the changed summary of issue #3702.
* subversion/include/svn_client.h
(svn_client_args_to_target_array): Deprecate, succeeded by ...
(svn_client_args_to_target_array2): ... new function, carrying a new
argument KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION.
* subversion/libsvn_client/cmdline.c
(svn_client_args_to_target_array2): Make use of new flag
KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION to undo truepath-conversion of
the last of 2 targets if they both have the same 'truepath'.
* subversion/libsvn_client/deprecated.c
(svn_client_args_to_target_array): Implement deprecated wrapper.
* subversion/tests/libsvn_client/client-test.c
(test_args_to_target_array): Adjust caller, passing FALSE for
KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION.
[in subversion/svn]
* add-cmd.c, blame-cmd.c, cat-cmd.c, changelist-cmd.c, checkout-cmd.c,
cleanup-cmd.c, commit-cmd.c, copy-cmd.c, delete-cmd.c, diff-cmd.c,
export-cmd.c, import-cmd.c, info-cmd.c, list-cmd.c, lock-cmd.c, log-cmd.c,
merge-cmd.c, mergeinfo-cmd.c, mkdir-cmd.c, patch-cmd.c, propdel-cmd.c,
propedit-cmd.c, propget-cmd.c, proplist-cmd.c, propset-cmd.c,
relocate-cmd.c, resolve-cmd.c, resolved-cmd.c, revert-cmd.c, status-cmd.c,
switch-cmd.c, unlock-cmd.c, update-cmd.c, upgrade-cmd.c:
Adjust callers, passing FALSE for KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION.
* move-cmd.c: Adjust caller, passing TRUE for
KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION.
* cl.h
(svn_cl__args_to_target_array_print_reserved): Add new parameter
KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION.
* util.c
(svn_cl__args_to_target_array_print_reserved): Add new parameter
KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION, passing it to
svn_client_args_to_target_array2.
Modified:
subversion/trunk/subversion/include/svn_client.h
subversion/trunk/subversion/libsvn_client/cmdline.c
subversion/trunk/subversion/libsvn_client/deprecated.c
subversion/trunk/subversion/svn/add-cmd.c
subversion/trunk/subversion/svn/blame-cmd.c
subversion/trunk/subversion/svn/cat-cmd.c
subversion/trunk/subversion/svn/changelist-cmd.c
subversion/trunk/subversion/svn/checkout-cmd.c
subversion/trunk/subversion/svn/cl.h
subversion/trunk/subversion/svn/cleanup-cmd.c
subversion/trunk/subversion/svn/commit-cmd.c
subversion/trunk/subversion/svn/copy-cmd.c
subversion/trunk/subversion/svn/delete-cmd.c
subversion/trunk/subversion/svn/diff-cmd.c
subversion/trunk/subversion/svn/export-cmd.c
subversion/trunk/subversion/svn/import-cmd.c
subversion/trunk/subversion/svn/info-cmd.c
subversion/trunk/subversion/svn/list-cmd.c
subversion/trunk/subversion/svn/lock-cmd.c
subversion/trunk/subversion/svn/log-cmd.c
subversion/trunk/subversion/svn/merge-cmd.c
subversion/trunk/subversion/svn/mergeinfo-cmd.c
subversion/trunk/subversion/svn/mkdir-cmd.c
subversion/trunk/subversion/svn/move-cmd.c
subversion/trunk/subversion/svn/patch-cmd.c
subversion/trunk/subversion/svn/propdel-cmd.c
subversion/trunk/subversion/svn/propedit-cmd.c
subversion/trunk/subversion/svn/propget-cmd.c
subversion/trunk/subversion/svn/proplist-cmd.c
subversion/trunk/subversion/svn/propset-cmd.c
subversion/trunk/subversion/svn/relocate-cmd.c
subversion/trunk/subversion/svn/resolve-cmd.c
subversion/trunk/subversion/svn/resolved-cmd.c
subversion/trunk/subversion/svn/revert-cmd.c
subversion/trunk/subversion/svn/status-cmd.c
subversion/trunk/subversion/svn/switch-cmd.c
subversion/trunk/subversion/svn/unlock-cmd.c
subversion/trunk/subversion/svn/update-cmd.c
subversion/trunk/subversion/svn/upgrade-cmd.c
subversion/trunk/subversion/svn/util.c
subversion/trunk/subversion/tests/cmdline/copy_tests.py
subversion/trunk/subversion/tests/libsvn_client/client-test.c
Modified: subversion/trunk/subversion/include/svn_client.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_client.h?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_client.h (original)
+++ subversion/trunk/subversion/include/svn_client.h Sat Jun 4 06:37:25 2011
@@ -1018,6 +1018,10 @@ svn_client_create_context(svn_client_ctx
* IRI-to-URI encoding and some auto-escaping, and canonicalize. For a
* local path: canonicalize case and path separators.
*
+ * If @a keep_last_origpath_on_truepath_collision is TRUE, and there are
+ * exactly two targets which both case-canonicalize to the same path, the last
+ * target will be returned in the original non-case-canonicalized form.
+ *
* Allocate @a *targets_p and its elements in @a pool.
*
* @a ctx is required for possible repository authentication.
@@ -1030,8 +1034,23 @@ svn_client_create_context(svn_client_ctx
* error, and if this is the only type of error encountered, complete
* the operation before returning the error(s).
*
- * @since New in 1.6
+ * @since New in 1.7
+ */
+svn_error_t *
+svn_client_args_to_target_array2(apr_array_header_t **targets_p,
+ apr_getopt_t *os,
+ const apr_array_header_t *known_targets,
+ svn_client_ctx_t *ctx,
+ svn_boolean_t
keep_last_origpath_on_truepath_collision,
+ apr_pool_t *pool);
+
+/*
+ * Similar to svn_client_args_to_target_array2() but with
+ * @a keep_last_origpath_on_truepath_collision always set to FALSE.
+ *
+ * @deprecated Provided for backward compatibility with the 1.6 API.
*/
+SVN_DEPRECATED
svn_error_t *
svn_client_args_to_target_array(apr_array_header_t **targets_p,
apr_getopt_t *os,
Modified: subversion/trunk/subversion/libsvn_client/cmdline.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/cmdline.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/cmdline.c (original)
+++ subversion/trunk/subversion/libsvn_client/cmdline.c Sat Jun 4 06:37:25 2011
@@ -158,11 +158,12 @@ check_root_url_of_target(const char **ro
/* Note: This is substantially copied from svn_opt__args_to_target_array() in
* order to move to libsvn_client while maintaining backward compatibility. */
svn_error_t *
-svn_client_args_to_target_array(apr_array_header_t **targets_p,
- apr_getopt_t *os,
- const apr_array_header_t *known_targets,
- svn_client_ctx_t *ctx,
- apr_pool_t *pool)
+svn_client_args_to_target_array2(apr_array_header_t **targets_p,
+ apr_getopt_t *os,
+ const apr_array_header_t *known_targets,
+ svn_client_ctx_t *ctx,
+ svn_boolean_t
keep_last_origpath_on_truepath_collision,
+ apr_pool_t *pool)
{
int i;
svn_boolean_t rel_url_found = FALSE;
@@ -260,11 +261,27 @@ svn_client_args_to_target_array(apr_arra
SVN_ERR(svn_opt__arg_canonicalize_path(&true_target,
true_target, pool));
- /* If there was a truepath-conversion (which can happen on
- case-insensitive filesystems), check if there is an exact
- match in the wc-db (e.g. a scheduled-for-delete file only
- differing in case from an on-disk file). If so, use that
- instead of the truepath converted variant. */
+ /* There are two situations in which a 'truepath-conversion'
+ (case-canonicalization to on-disk path on case-insensitive
+ filesystem) needs to be undone:
+
+ 1. If KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION is TRUE, and
+ this is the last target of a 2-element target list, and
+ both targets have the same truepath. */
+ if (keep_last_origpath_on_truepath_collision
+ && input_targets->nelts == 2 && i == 1
+ && strcmp(original_target, true_target) != 0)
+ {
+ const char *src_truepath = APR_ARRAY_IDX(output_targets,
+ 0,
+ const char *);
+ if (strcmp(src_truepath, true_target) == 0)
+ true_target = original_target;
+ }
+
+ /* 2. If there is an exact match in the wc-db without a
+ corresponding on-disk path (e.g. a scheduled-for-delete
+ file only differing in case from an on-disk file). */
if (strcmp(original_target, true_target) != 0)
{
const char *target_abspath;
Modified: subversion/trunk/subversion/libsvn_client/deprecated.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/deprecated.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/deprecated.c (original)
+++ subversion/trunk/subversion/libsvn_client/deprecated.c Sat Jun 4 06:37:25
2011
@@ -369,6 +369,18 @@ svn_client_blame(const char *target,
receiver, receiver_baton, ctx, pool);
}
+/*** From cmdline.c ***/
+svn_error_t *
+svn_client_args_to_target_array(apr_array_header_t **targets_p,
+ apr_getopt_t *os,
+ const apr_array_header_t *known_targets,
+ svn_client_ctx_t *ctx,
+ apr_pool_t *pool)
+{
+ return svn_client_args_to_target_array2(targets_p, os, known_targets, ctx,
+ FALSE, pool);
+}
+
/*** From commit.c ***/
svn_error_t *
svn_client_import3(svn_commit_info_t **commit_info_p,
Modified: subversion/trunk/subversion/svn/add-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/add-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/add-cmd.c (original)
+++ subversion/trunk/subversion/svn/add-cmd.c Sat Jun 4 06:37:25 2011
@@ -55,7 +55,7 @@ svn_cl__add(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
if (! targets->nelts)
return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL);
Modified: subversion/trunk/subversion/svn/blame-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/blame-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/blame-cmd.c (original)
+++ subversion/trunk/subversion/svn/blame-cmd.c Sat Jun 4 06:37:25 2011
@@ -249,7 +249,7 @@ svn_cl__blame(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
/* Blame needs a file on which to operate. */
if (! targets->nelts)
Modified: subversion/trunk/subversion/svn/cat-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/cat-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/cat-cmd.c (original)
+++ subversion/trunk/subversion/svn/cat-cmd.c Sat Jun 4 06:37:25 2011
@@ -53,7 +53,7 @@ svn_cl__cat(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
/* Cat cannot operate on an implicit '.' so a filename is required */
if (! targets->nelts)
Modified: subversion/trunk/subversion/svn/changelist-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/changelist-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/changelist-cmd.c (original)
+++ subversion/trunk/subversion/svn/changelist-cmd.c Sat Jun 4 06:37:25 2011
@@ -62,7 +62,7 @@ svn_cl__changelist(apr_getopt_t *os,
/* Parse the remaining arguments as paths. */
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
/* Changelist has no implicit dot-target `.', so don't you put that
code here! */
Modified: subversion/trunk/subversion/svn/checkout-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/checkout-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/checkout-cmd.c (original)
+++ subversion/trunk/subversion/svn/checkout-cmd.c Sat Jun 4 06:37:25 2011
@@ -78,7 +78,7 @@ svn_cl__checkout(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
if (! targets->nelts)
return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL);
Modified: subversion/trunk/subversion/svn/cl.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/cl.h?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/cl.h (original)
+++ subversion/trunk/subversion/svn/cl.h Sat Jun 4 06:37:25 2011
@@ -736,6 +736,7 @@ svn_cl__args_to_target_array_print_reser
apr_getopt_t *os,
const apr_array_header_t
*known_targets,
svn_client_ctx_t *ctx,
+ svn_boolean_t
keep_dest_origpath_on_truepath_collision,
apr_pool_t *pool);
/* Return a string allocated in POOL that is a copy of STR but with each
Modified: subversion/trunk/subversion/svn/cleanup-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/cleanup-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/cleanup-cmd.c (original)
+++ subversion/trunk/subversion/svn/cleanup-cmd.c Sat Jun 4 06:37:25 2011
@@ -52,7 +52,7 @@ svn_cl__cleanup(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
/* Add "." if user passed 0 arguments */
svn_opt_push_implicit_dot_target(targets, pool);
Modified: subversion/trunk/subversion/svn/commit-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/commit-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/commit-cmd.c (original)
+++ subversion/trunk/subversion/svn/commit-cmd.c Sat Jun 4 06:37:25 2011
@@ -110,7 +110,7 @@ svn_cl__commit(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
/* Check that no targets are URLs */
for (i = 0; i < targets->nelts; i++)
Modified: subversion/trunk/subversion/svn/copy-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/copy-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/copy-cmd.c (original)
+++ subversion/trunk/subversion/svn/copy-cmd.c Sat Jun 4 06:37:25 2011
@@ -53,7 +53,7 @@ svn_cl__copy(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
if (targets->nelts < 2)
return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL);
Modified: subversion/trunk/subversion/svn/delete-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/delete-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/delete-cmd.c (original)
+++ subversion/trunk/subversion/svn/delete-cmd.c Sat Jun 4 06:37:25 2011
@@ -51,7 +51,7 @@ svn_cl__delete(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
if (! targets->nelts)
return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL);
Modified: subversion/trunk/subversion/svn/diff-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/diff-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/diff-cmd.c (original)
+++ subversion/trunk/subversion/svn/diff-cmd.c Sat Jun 4 06:37:25 2011
@@ -206,7 +206,7 @@ svn_cl__diff(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
if (! opt_state->old_target && ! opt_state->new_target
&& (targets->nelts == 2)
@@ -246,7 +246,7 @@ svn_cl__diff(apr_getopt_t *os,
const char *));
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&tmp2, os, tmp,
- ctx, pool));
+ ctx, FALSE, pool));
SVN_ERR(svn_opt_parse_path(&old_rev, &old_target,
APR_ARRAY_IDX(tmp2, 0, const char *),
pool));
Modified: subversion/trunk/subversion/svn/export-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/export-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/export-cmd.c (original)
+++ subversion/trunk/subversion/svn/export-cmd.c Sat Jun 4 06:37:25 2011
@@ -56,7 +56,7 @@ svn_cl__export(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
/* We want exactly 1 or 2 targets for this subcommand. */
if (targets->nelts < 1)
Modified: subversion/trunk/subversion/svn/import-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/import-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/import-cmd.c (original)
+++ subversion/trunk/subversion/svn/import-cmd.c Sat Jun 4 06:37:25 2011
@@ -79,7 +79,7 @@ svn_cl__import(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
if (targets->nelts < 1)
return svn_error_create
Modified: subversion/trunk/subversion/svn/info-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/info-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/info-cmd.c (original)
+++ subversion/trunk/subversion/svn/info-cmd.c Sat Jun 4 06:37:25 2011
@@ -556,7 +556,7 @@ svn_cl__info(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
/* Add "." if user passed 0 arguments. */
svn_opt_push_implicit_dot_target(targets, pool);
Modified: subversion/trunk/subversion/svn/list-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/list-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/list-cmd.c (original)
+++ subversion/trunk/subversion/svn/list-cmd.c Sat Jun 4 06:37:25 2011
@@ -220,7 +220,7 @@ svn_cl__list(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
/* Add "." if user passed 0 arguments */
svn_opt_push_implicit_dot_target(targets, pool);
Modified: subversion/trunk/subversion/svn/lock-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/lock-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/lock-cmd.c (original)
+++ subversion/trunk/subversion/svn/lock-cmd.c Sat Jun 4 06:37:25 2011
@@ -93,7 +93,7 @@ svn_cl__lock(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
/* We only support locking files, so '.' is not valid. */
if (! targets->nelts)
Modified: subversion/trunk/subversion/svn/log-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/log-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/log-cmd.c (original)
+++ subversion/trunk/subversion/svn/log-cmd.c Sat Jun 4 06:37:25 2011
@@ -621,7 +621,7 @@ svn_cl__log(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
/* Add "." if user passed 0 arguments */
svn_opt_push_implicit_dot_target(targets, pool);
Modified: subversion/trunk/subversion/svn/merge-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/merge-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/merge-cmd.c (original)
+++ subversion/trunk/subversion/svn/merge-cmd.c Sat Jun 4 06:37:25 2011
@@ -67,7 +67,7 @@ svn_cl__merge(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
/* For now, we require at least one source. That may change in
future versions of Subversion, for example if we have support for
Modified: subversion/trunk/subversion/svn/mergeinfo-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/mergeinfo-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/mergeinfo-cmd.c (original)
+++ subversion/trunk/subversion/svn/mergeinfo-cmd.c Sat Jun 4 06:37:25 2011
@@ -72,7 +72,7 @@ svn_cl__mergeinfo(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
/* We expect a single source URL followed by a single target --
nothing more, nothing less. */
Modified: subversion/trunk/subversion/svn/mkdir-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/mkdir-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/mkdir-cmd.c (original)
+++ subversion/trunk/subversion/svn/mkdir-cmd.c Sat Jun 4 06:37:25 2011
@@ -51,7 +51,7 @@ svn_cl__mkdir(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
if (! targets->nelts)
return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL);
Modified: subversion/trunk/subversion/svn/move-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/move-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/move-cmd.c (original)
+++ subversion/trunk/subversion/svn/move-cmd.c Sat Jun 4 06:37:25 2011
@@ -52,7 +52,7 @@ svn_cl__move(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, TRUE, pool));
if (targets->nelts < 2)
return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL);
Modified: subversion/trunk/subversion/svn/patch-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/patch-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/patch-cmd.c (original)
+++ subversion/trunk/subversion/svn/patch-cmd.c Sat Jun 4 06:37:25 2011
@@ -59,7 +59,7 @@ svn_cl__patch(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
SVN_ERR(svn_cl__eat_peg_revisions(&targets, targets, pool));
if (targets->nelts < 1)
Modified: subversion/trunk/subversion/svn/propdel-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/propdel-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/propdel-cmd.c (original)
+++ subversion/trunk/subversion/svn/propdel-cmd.c Sat Jun 4 06:37:25 2011
@@ -62,7 +62,7 @@ svn_cl__propdel(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
/* Add "." if user passed 0 file arguments */
Modified: subversion/trunk/subversion/svn/propedit-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/propedit-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/propedit-cmd.c (original)
+++ subversion/trunk/subversion/svn/propedit-cmd.c Sat Jun 4 06:37:25 2011
@@ -95,7 +95,7 @@ svn_cl__propedit(apr_getopt_t *os,
/* Suck up all the remaining arguments into a targets array */
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
/* We do our own notifications */
ctx->notify_func2 = NULL;
Modified: subversion/trunk/subversion/svn/propget-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/propget-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/propget-cmd.c (original)
+++ subversion/trunk/subversion/svn/propget-cmd.c Sat Jun 4 06:37:25 2011
@@ -217,7 +217,7 @@ svn_cl__propget(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, pool));
+ ctx, FALSE, pool));
/* Add "." if user passed 0 file arguments */
svn_opt_push_implicit_dot_target(targets, pool);
Modified: subversion/trunk/subversion/svn/proplist-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/proplist-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/proplist-cmd.c (original)
+++ subversion/trunk/subversion/svn/proplist-cmd.c Sat Jun 4 06:37:25 2011
@@ -115,7 +115,8 @@ svn_cl__proplist(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, scratch_pool));
+ ctx, FALSE,
+ scratch_pool));
/* Add "." if user passed 0 file arguments */
svn_opt_push_implicit_dot_target(targets, scratch_pool);
Modified: subversion/trunk/subversion/svn/propset-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/propset-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/propset-cmd.c (original)
+++ subversion/trunk/subversion/svn/propset-cmd.c Sat Jun 4 06:37:25 2011
@@ -98,7 +98,8 @@ svn_cl__propset(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, scratch_pool));
+ ctx, FALSE,
+ scratch_pool));
/* Implicit "." is okay for revision properties; it just helps
us find the right repository. */
Modified: subversion/trunk/subversion/svn/relocate-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/relocate-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/relocate-cmd.c (original)
+++ subversion/trunk/subversion/svn/relocate-cmd.c Sat Jun 4 06:37:25 2011
@@ -59,7 +59,8 @@ svn_cl__relocate(apr_getopt_t *os,
*/
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, scratch_pool));
+ ctx, FALSE,
+ scratch_pool));
if (targets->nelts < 1)
return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL);
Modified: subversion/trunk/subversion/svn/resolve-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/resolve-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/resolve-cmd.c (original)
+++ subversion/trunk/subversion/svn/resolve-cmd.c Sat Jun 4 06:37:25 2011
@@ -85,7 +85,8 @@ svn_cl__resolve(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, scratch_pool));
+ ctx, FALSE,
+ scratch_pool));
if (! targets->nelts)
return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL);
Modified: subversion/trunk/subversion/svn/resolved-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/resolved-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/resolved-cmd.c (original)
+++ subversion/trunk/subversion/svn/resolved-cmd.c Sat Jun 4 06:37:25 2011
@@ -56,7 +56,8 @@ svn_cl__resolved(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, scratch_pool));
+ ctx, FALSE,
+ scratch_pool));
if (! targets->nelts)
return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL);
Modified: subversion/trunk/subversion/svn/revert-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/revert-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/revert-cmd.c (original)
+++ subversion/trunk/subversion/svn/revert-cmd.c Sat Jun 4 06:37:25 2011
@@ -52,7 +52,8 @@ svn_cl__revert(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, scratch_pool));
+ ctx, FALSE,
+ scratch_pool));
/* Revert has no implicit dot-target `.', so don't you put that code here! */
if (! targets->nelts)
Modified: subversion/trunk/subversion/svn/status-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/status-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/status-cmd.c (original)
+++ subversion/trunk/subversion/svn/status-cmd.c Sat Jun 4 06:37:25 2011
@@ -269,7 +269,8 @@ svn_cl__status(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, scratch_pool));
+ ctx, FALSE,
+ scratch_pool));
/* Add "." if user passed 0 arguments */
svn_opt_push_implicit_dot_target(targets, scratch_pool);
Modified: subversion/trunk/subversion/svn/switch-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/switch-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/switch-cmd.c (original)
+++ subversion/trunk/subversion/svn/switch-cmd.c Sat Jun 4 06:37:25 2011
@@ -109,7 +109,8 @@ svn_cl__switch(apr_getopt_t *os,
switch to ("switch_url"). */
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, scratch_pool));
+ ctx, FALSE,
+ scratch_pool));
/* handle only-rewrite case specially */
if (opt_state->relocate)
Modified: subversion/trunk/subversion/svn/unlock-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/unlock-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/unlock-cmd.c (original)
+++ subversion/trunk/subversion/svn/unlock-cmd.c Sat Jun 4 06:37:25 2011
@@ -52,7 +52,8 @@ svn_cl__unlock(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, scratch_pool));
+ ctx, FALSE,
+ scratch_pool));
/* We don't support unlock on directories, so "." is not relevant. */
if (! targets->nelts)
Modified: subversion/trunk/subversion/svn/update-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/update-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/update-cmd.c (original)
+++ subversion/trunk/subversion/svn/update-cmd.c Sat Jun 4 06:37:25 2011
@@ -114,7 +114,8 @@ svn_cl__update(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, scratch_pool));
+ ctx, FALSE,
+ scratch_pool));
/* Add "." if user passed 0 arguments */
svn_opt_push_implicit_dot_target(targets, scratch_pool);
Modified: subversion/trunk/subversion/svn/upgrade-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/upgrade-cmd.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/upgrade-cmd.c (original)
+++ subversion/trunk/subversion/svn/upgrade-cmd.c Sat Jun 4 06:37:25 2011
@@ -53,7 +53,8 @@ svn_cl__upgrade(apr_getopt_t *os,
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
- ctx, scratch_pool));
+ ctx, FALSE,
+ scratch_pool));
/* Add "." if user passed 0 arguments */
svn_opt_push_implicit_dot_target(targets, scratch_pool);
Modified: subversion/trunk/subversion/svn/util.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/util.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/util.c (original)
+++ subversion/trunk/subversion/svn/util.c Sat Jun 4 06:37:25 2011
@@ -1112,11 +1112,15 @@ svn_cl__args_to_target_array_print_reser
apr_getopt_t *os,
const apr_array_header_t
*known_targets,
svn_client_ctx_t *ctx,
+ svn_boolean_t
keep_last_origpath_on_truepath_collision,
apr_pool_t *pool)
{
- svn_error_t *err = svn_client_args_to_target_array(targets, os,
- known_targets,
- ctx, pool);
+ svn_error_t *err = svn_client_args_to_target_array2(targets,
+ os,
+ known_targets,
+ ctx,
+
keep_last_origpath_on_truepath_collision,
+ pool);
if (err)
{
if (err->apr_err == SVN_ERR_RESERVED_FILENAME_SPECIFIED)
Modified: subversion/trunk/subversion/tests/cmdline/copy_tests.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/copy_tests.py?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/copy_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/copy_tests.py Sat Jun 4 06:37:25
2011
@@ -5173,9 +5173,8 @@ def copy_base_of_deleted(sbox):
})
-# Regression test for issue #3702: "svn ren TODO todo" not work on windows
-# (i.e. case-only rename on Windows)
-@XFail(svntest.main.is_fs_case_insensitive)
+# Regression test for issue #3702: Unable to perform case-only rename
+# on windows.
@Issue(3702)
def case_only_rename(sbox):
"""case-only rename"""
Modified: subversion/trunk/subversion/tests/libsvn_client/client-test.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_client/client-test.c?rev=1131326&r1=1131325&r2=1131326&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_client/client-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_client/client-test.c Sat Jun 4
06:37:25 2011
@@ -157,7 +157,8 @@ test_args_to_target_array(apr_pool_t *po
return svn_error_wrap_apr(apr_err,
"Error initializing command line arguments");
- err = svn_client_args_to_target_array(&targets, os, NULL, ctx, iterpool);
+ err = svn_client_args_to_target_array2(&targets, os, NULL, ctx, FALSE,
+ iterpool);
if (expected_output)
{