With this patch, you can relocate a WC with just a plain switch, without
--relocate. And you can relocate to a new repo root _and_ switch the FS path in
one step.
[[[
Make vanilla switch capable of changing the repository root.
* subversion/include/svn_wc.h
(svn_wc_get_switch_editor4): New function.
(svn_wc_get_switch_editor3): Deprecate.
* subversion/libsvn_client/switch.c
(svn_client__switch_internal): Determine if the switch URL is in
another repository. Call svn_wc_get_switch_editor4().
* subversion/libsvn_wc/update_editor.c
(make_editor): Take a new_repos argument. If it is non-NULL, store
it in the editor baton.
(svn_wc_get_update_editor3): Update call to make_editor().
(svn_wc_get_switch_editor4): New function. Propagates new_repo
to make_editor().
(svn_wc_get_switch_editor3, svn_wc_get_switch_editor2,
svn_wc_get_switch_editor): Call svn_wc_get_switch_editor4().
* subversion/libsvn_wc/entries.c
(svn_wc__tweak_entry): Rewrite the repo root and the copyfrom URL,
if necessary. Remove the consistency check that tried to ensure that
we never end up with mixed-repository directories. It was redundant
before, and now it gets in the way.
* subversion/tests/cmdline/switch_tests.py
(switch_to_repo_with_different_uuid): Rename from
switch_change_repos_root(), because we allow that now. However,
the test tries to switch to a repo with a different UUID, which
we still need to prevent.
(switch_to_different_repo): New test.
(test_list): Make the necessary additions/renames.
]]]
--
Vlad
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-08-25 21:19:55 CEST