AnkhSVN:将项目转移到另一个仓库

时间:2010-03-08 04:45:01

标签: svn version-control ankhsvn

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

  • 目前,这些文件都绑定到C:\Repositories\foo的仓库。
  • 我想将其移至http://someSite/svn/foo

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

alt text

alt text

我收到此错误消息:

  

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

问题

  • 如何在AnkhSVN中避免此消息?
  • 是否有更好的解决方案将源移动到新目标的回购中?
  • 我怎样才能让Ankh永远忘记C:\Repositories\的回购?

3 个答案:

答案 0 :(得分:5)

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

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

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

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

答案 1 :(得分:2)

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

请务必禁用旧版本,但不要同时对两者进行提交(如果发生这种情况会非常糟糕)。

答案 2 :(得分:1)

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

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

在“文件”菜单中,“变更源控制”选项下的“Subversion”项目为

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

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

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

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