【问题标题】:SVN Switch Relocate - is not the root of the repositorySVN Switch Relocate - 不是存储库的根
【发布时间】:2010-01-28 14:43:05
【问题描述】:

我正在尝试将一个工作副本文件夹从它的旧专用 svn 服务器移动到一个新的 svn 服务器,它包含在一个子文件夹中。使用以下重定位命令:

svn switch --relocate https://oldserver/svn/repos https://newserver/some/directory 

我明白了:

svn: 'https://newserver/some/directory ' is not the root of the repository

哪个是正确的.....但是,呃,无论如何我该如何移动位置?

【问题讨论】:

    标签: svn relocation


    【解决方案1】:

    据我了解,您不能使用svn switch(有或没有--relocate)移动到新的存储库。这样想:你的新版本库的 HEAD 版本是 x,你旧版本库的版本是 y,那么 SVN 应该如何处理工作副本的基本版本?

    svn help switch 表示--relocate 用于:

    重写工作副本 URL 元数据以反映 仅语法更改。 这用于存储库的根 URL 更改(例如方案或主机名更改)但您的工作副本仍然反映 相同同一存储库中的目录。

    由于情况并非如此,恐怕您必须重新结帐。

    【讨论】:

    • 然而,我得到了错误,即使它确实是同一个仓库中的同一个目录......
    • 嗯,我不知道在过去的 6 年中是否发生了一些变化,我也没有彻底研究过细节,但我们只是将整个存储库“按原样”迁移到一个新的服务器,并且此命令结构可以很好地“切换”现有的已签出工作文件夹以针对新存储库工作:svn switch --relocate svn://oldserver/ http://newserver/svn/goteam/。即 - 新协议、新服务器、新文件夹规范。 - 工作得很好。也许 SVN 会检查相关的 repos 是否基本相同并允许?
    【解决方案2】:

    我尝试了相同的操作,在这种情况下,我在一个文件中使用了 svnsync 的副本: url 并使用 mv /home/me/sync/therepo /home/me/sync/repos/therepo 移动了它。

    原因:我在同步目录中有几个帮助脚本会弄乱存储库的视图。

    svn switch --relocate 在大多数情况下都有效,除了不断抱怨的外部。

    解决方案很残酷:我删除了 (rm -rf) 包含有问题文件的目录,然后再次运行 svn update 以重新获取外部文件。

    至少这样我就不必再次进行大额结账了。

    另外,当我们稍后将 svn 服务器移动到新机器时,我可以为我的同事编写说明。

    【讨论】:

      【解决方案3】:

      也可能发生的是您正在对根的孩子进行重定位。

      尝试对根文件夹进行重定位。所有子文件夹也将自动重新定位。

      【讨论】:

        【解决方案4】:

        我假设您实际上已经通过svnadmin dump/svnadmin load 迁移了存储库,所以在这种情况下您可以尝试:svn switch --relocate https://newserver/some/directory 如果您遇到相同的错误,您实际上可能只需要执行一个新的svn co。我不记得曾经遇到过这个错误,但是我所有的存储库都使用了一个嵌套结构,就像你要移动到的那样,所以我可能永远不必处理它:-)

        【讨论】:

        • 我的存储库太大了,无法轻松进行 svnadmin 转储(它用于二进制文件等),所以我将 svn 放入一个新目录并提交 svn....
        • 存储库被联合到多个位置(实时服务器、开发服务器、2 台开发机器等)。这是一个很大的存储库,我宁愿不必重新下载它 - 读入 switch 似乎 switch 可以改变 repos 使用的 url...
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多