【问题标题】:AnkhSVN: moving a project to another repoAnkhSVN:将项目移动到另一个仓库
【发布时间】:2010-03-08 04:45:00
【问题描述】:

我的任务是将这个 VS 解决方案和项目移动到另一个 SVN 服务器。我正在使用 Visual Studio 2010 RC1 和 AnkhSVN 2.1.7819....

  • 目前所有文件都绑定到C:\Repositories\foo 的repo。
  • 我想把它移到http://someSite/svn/foo

我发现,最明显的方式是 Pending Changes - Source Files 窗口(它似乎属于 AnkhSVN)。它似乎允许您更改正在使用的存储库。

我收到此错误消息:

存储库 UUID '152c39db-5799-4234-85f2-074004a6fcad' 与预期的 UUID '6c83444d-7f93-d64a-b0a0-23283495cf17' 不匹配

问题

  • 如何避免在 AnkhSVN 中出现此消息?
  • 是否有更好的解决方案将源移动到新目标的存储库中?
  • 如何让 Ankh 永远“忘记”C:\Repositories\ 上的那个 repo?

【问题讨论】:

    标签: svn version-control ankhsvn


    【解决方案1】:

    此对话框在同一存储库中的不同位置之间执行切换(并允许您在存储库移动时更改 URL)。

    在您的情况下,您想切换到不共享历史记录的完全不同的存储库。 (好吧,也许你想保留历史但你没有问)。

    要将数据复制到不同的存储库,您可以执行导出,然后使用“将解决方案添加到 Subversion 向导”。

    TortoiseSVN 有一个就地导出功能,可以从您的工作副本中删除所有 .svn 文件夹。你也可以用那个。 (确保在删除 .svn 目录后刷新 AnkhSVN 状态)

    【讨论】:

      【解决方案2】:

      如果您想保留历史记录,请参阅优秀 svnbook 中的Migrating Repository Data Elsewhere。它还描述了一种保持存储库 UUID 相同的方法,因此您可以从旧的重新定位到新的。

      请务必禁用旧的,这样您就不会同时对两者进行提交(如果发生这种情况,那就太糟糕了)。

      【讨论】:

        【解决方案3】:

        这是一个老问题,但没有一个答案与所提出的问题有任何关系

        现在假设您创建了新的存储库(如果不查看其他答案)

        在文件菜单中有一个“Subversion”项,在这个“更改源代码控制”选项下

        在这里,您需要做的第一件事是断开您的解决方案和所有项目与 SVN 的连接

        断开连接后,突出显示解决方案和项目,然后查看屏幕下半部分“SCC 绑定路径”旁边的 [...] 按钮单击它,您可以更改存储库

        将其更改为正确的 repo,然后重新连接您的项目和解决方案,您现在应该可以使用新的 repo

        在 TortoiseSVN 中使用 Relocate 命令的更简单方法,这将更新解决方案中的 SVN 文件,然后将被 Ankh 拾取,尽管使用相同的“更改源控制”屏幕进行仔细检查

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-28
          • 2019-02-19
          • 1970-01-01
          • 2011-06-15
          • 2021-10-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多