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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动了存储库。我是否使用SVN交换机,SVN重定位或其他所有内容相关的知识,希望对你有一定的参考价值。

我一直在计划将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

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

答案

以前的回答者不会阅读文档

>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取代

另一答案

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

另一答案

最简单的答案是这样的:

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

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

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

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

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

另一答案

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

以上是关于移动了存储库。我是否使用SVN交换机,SVN重定位或其他所有内容的主要内容,如果未能解决你的问题,请参考以下文章

如何导出具有依赖项的 SVN 存储库的一部分?

访问脱机SVN存储库

将存储库移动到svn中的另一个子目录[重复]

系统重做了怎么把以前SVN项目和SVN版本库连上

SVN重新定位还是切换?

将 svn 文件夹移动到自己的存储库