r1145972 | rhuijben | 2011-07-13 07:28:17 -0500 (Wed, 13 Jul 2011)
Make the 'populate target tree' code in wc_db.c return an error when it
receives an nonexisting node as (root-)target.
(This also resolves some remaining parts of issue #3779)
* subversion/libsvn_wc/wc-queries.sql
(STMT_INSERT_TARGET_DEPTH_INFINITY,
STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_INFINITY): Avoid the LIKE operator
when we can use an index to obtain the same result.
* subversion/libsvn_wc/wc_db.c
(populate_targets_tree): Don't pass/generate the like argument. Obtain the
number of affected rows and check if the node actually exists if the number
of affected rows is 0.
* subversion/svn/changelist-cmd.c
(svn_cl__changelist): Return an error when an error occurred, just like
the other svn commands that handle SVN_WC_PATH_NOT_FOUND.
* subversion/tests/cmdline/changelist_tests.py
(add_remove_non_existent_target,
add_remove_unversioned_target): New tests. Based on a patch by Noorul
Islam K M, but tweaked for the different error handling.
(test_list): Add new tests.
* subversion/tests/cmdline/tree_conflict_tests.py
(actual_only_node_behaviour): Update expected result and remove review marker
as we now produce a warning.
Found by: danielsh
Noorul Islam K M <noorul{_AT_}collab.net>
stsp

r1138474 | rhuijben | 2011-06-22 09:09:17 -0500 (Wed, 22 Jun 2011)
Since r1138399 we can assume that tempfiles we create in the default temp
directory are not world readable, so we can now safely store the diff
tempfiles there. This should fix issue #3813.
* subversion/libsvn_wc/diff_editor.c
(apply_textdelta): Store diff tempfiles in the system tempdir instead of the
working copy.
Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
rhuijben
(independently came up with the first hunk)

r1132678 | stsp | 2011-06-06 10:44:34 -0500 (Mon, 06 Jun 2011)
Fix a bug in 'svn export' because of which externals are exported twice
when exporting a working copy having externals.
* subversion/libsvn_client/export.c
(copy_versioned_files): Do not copy an external file here. This is
done down the line in the function.
* subversion/tests/cmdline/externals_tests.py
(export_wc_with_externals): Remove XFail marker.
Patch by: Noorul Islam K M <noorul{_AT_}collab.net>

r1071602 | stsp | 2011-02-17 07:15:13 -0600 (Thu, 17 Feb 2011)
* subversion/svn/blame-cmd.c
(svn_cl__blame): If one of the targets is a non-existent URL or
wc-entry, don't bail out. Just warn and move on to the next
target. Also return a non-zero error code and print an error message
at the end in those situations.
* subversion/tests/cmdline/blame_tests.py
(blame_non_existent_wc_target, blame_non_existent_url_target): New tests.
(test_list): Add reference to new tests.
Patch by: Noorul Islam K M <noorul{_AT_}collab.net>

r1070510 | stsp | 2011-02-14 08:44:50 -0600 (Mon, 14 Feb 2011)
* subversion/svn/list-cmd.c
(svn_cl__list): If one of the targets is a non-existent URL or
wc-entry, don't bail out. Just warn and move on to the next
target. Also return a non-zero error code and print an error message
at the end in those situations.
* subversion/tests/cmdline/basic_tests.py
(ls_non_existent_wc_target, ls_non_existent_url_target,
ls_multiple_wc_targets, ls_multiple_url_targets): New tests.
(test_list): Add reference to new tests.
Patch by: Noorul Islam K M <noorul{_AT_}collab.net>

r1066006 | rhuijben | 2011-02-01 05:35:29 -0600 (Tue, 01 Feb 2011)
Handle "/./" and "/%2E/" in the same way while canonicalizing urls. Before
this patch the first was handled as a no-op segment, while the second was
handled as a segment containing just a dot.
* subversion/libsvn_subr/dirent_uri.c
(canonicalize): Handle %2E while canonicalizing urls.
* subversion/tests/libsvn_subr/dirent_uri-test.c
(test_uri_canonicalize): Add a few tests on noop segments.
(test_uri_is_canonical): Add two test cases on noop segments.
Found by: Noorul Islam K M <noorul{_AT_}collab.net>

r1044448 | julianfoad | 2010-12-10 11:14:33 -0600 (Fri, 10 Dec 2010)
Make use of a new function for checking whether all targets are the same
type. A follow-up to r1044028.
* subversion/svn/diff-cmd.c
(svn_cl__diff): Make use of new function
svn_cl__assert_homogeneous_target_type(). Tweak existing logic which
checks to see whether working copy path is present in targets.
Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
(tweaked by me)

r1035208 | julianfoad | 2010-11-15 04:20:10 -0600 (Mon, 15 Nov 2010)
Make 'svn unlock' verify that both working copy paths and URLs are not
passed.
* subversion/tests/cmdline/input_validation_tests.py
(invalid_unlock_targets): New test, verifying that svn unlock copes well
with invalid target combinations.
* subversion/svn/unlock-cmd.c
(svn_cl__unlock): For consistency with other sub-commands, raise the
SVN_ERR_CL_ARG_PARSING_ERROR if both working copy paths and URLs are
passed, and use the same error message also used elsewhere.
Patch by: Noorul Islam K M <noorul{_AT_}collab.net>

r904072 | julianfoad | 2010-01-28 07:14:32 -0600 (Thu, 28 Jan 2010)
Add a regression test for a reverse merge, move and update second working
copy scenario. A bug caused the second working copy to get both the move
destination and the move source files added. This bug exists in 1.6.9, but
on trunk the commit stage of the test fails so the test is already marked
XFail.
See the email thread <http://svn.haxx.se/dev/archive-2009-12/0347.shtml>.
* subversion/tests/cmdline/copy_tests.py
(reverse_merge_move): Also check the result of updating a second WC.
Found by: Alan Spencer <alan.spencer{_AT_}rockalltech.com>
Suggested by: julianfoad
Patch by: Noorul Islam K M <noorul{_AT_}collab.net>