我一直在计划将Subversion存储库从Linux服务器迁移到Windows服务器。我已经概述了迁移的步骤:
经过一番挫折之后,我终于走到了第4步,但却陷入了两难境地......我不知道如何改变所有的参考资料。我已经看到可以使用重定位但是我也听说过,如果结构发生变化,应该使用开关...这是工作项目所以我需要确保在最后一步使用正确的命令以避免后果
当前的文件结构如下:
svn:// svn @ servername / Source / Program Name / bin / Release
新的文件结构由VisualSVN Server决定,如下所示:
https://ServerName.domain.local/svn/RepositoryName/Source/Program名称/ bin /发布
为此重新安排工作还是我走向错误的方向?
答案 0 :(得分:4)
以前的回答者不会阅读文档
>svn help switch
2. The '--relocate' option is deprecated. This syntax is equivalent to
'svn relocate FROM-PREFIX TO-PREFIX [PATH]'.
你必须
svn relocate
(因为你重写了多于前缀)relocate TO-URL [PATH]
,另请参阅svn help relocate
中的示例示例中的2. TO-URL is the (complete) new repository URL to use for PATH. Examples: ... svn relocate http://www.example.com/repo/project \ svn://svn.example.com/repo/project
旧引用svn://svn.example.com/repo/project
已替换为http://www.example.com/repo/project
答案 1 :(得分:1)
是的,svn switch --relocate
命令应该有效。但请注意,您必须重新定位工作副本的根目录。
答案 2 :(得分:0)
最简单的答案是:
将相同数据目录移动到新服务器(新基本URI)时,使用重新定位。
如果要在同一存储库中在分支之间进行更改(具有共同祖先的路径),则使用开关。
在这两种情况下,存储库UUID都保持不变。
如果您转储完整存储库并将其恢复到新数据目录中,那么您实际上使用的是相同的数据目录,存储库UUID保持不变。您可以使用relocate。
如果您更改UUID或恢复到现有存储库,您唯一的选择是重新签出工作副本。
答案 3 :(得分:-2)
使用svn switch --relocate
我只是在回购中做了它,它就像魔法一样。如果您使用的是TortoiseSVN,请使用“重定位”命令,而不是“切换”命令。