移动了存储库。我是否使用SVN交换机,SVN重定位或其他所有内容

问题描述 投票:4回答:4

我一直在计划将Subversion存储库从Linux服务器迁移到Windows服务器。我已经概述了迁移的步骤:

  1. 创建存储库的转储
  2. 将转储文件传输到目标Windows服务器
  3. 在新的subversion服务器上传存储库
  4. 将对旧存储库的所有引用更改为新存储库

经过一番挫折之后,我终于走到了第4步,但陷入了两难境地......我不知道如何改变所有的参考资料。我已经看到可以使用重定位但是我也听说过,如果结构发生变化,应该使用开关...这是工作项目所以我需要确保在最后一步使用正确的命令以避免后果。

当前的文件结构如下所示:

svn:// svn @ servername / Source / Program Name / bin / Release

新的文件结构由VisualSVN Server决定,如下所示:

https://ServerName.domain.local/svn/RepositoryName/Source/Program名称/ bin / Release

会为此重新安排工作还是我走向错误的方向?

linux windows svn visualsvn-server
4个回答
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/projecthttp://www.example.com/repo/project取代


1
投票

是的,svn switch --relocate命令应该工作。但请注意,您必须重新定位工作副本的根目录。


0
投票

最简单的答案是这样的:

将相同的数据目录移动到新服务器(新的基本URI)时,可以使用relocate。

当您想要在同一存储库中的分支(具有共同祖先的路径)之间进行更改时,可以使用switch。

在这两种情况下,存储库UUID都保持不变。

如果转储完整存储库并将其恢复到新数据目录中,则实际上使用的是相同的数据目录,存储库UUID保持不变。您可以使用重定位。

如果您更改UUID或恢复到现有存储库,您唯一的选择是重新签出工作副本。


-2
投票

使用svn switch --relocate我只是在回购中做了它,它的工作就像魔法一样。如果您使用的是TortoiseSVN,请使用“重定位”命令,而不是“切换”命令。

© www.soinside.com 2019 - 2024. All rights reserved.