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

6
我的任务是将这个VS解决方案和项目移动到另一个SVN服务器上。我正在使用Visual Studio 2010 RC1和AnkhSVN 2.1.7819……
当前,这些文件都绑定在C:\Repositories\foo仓库中。
我想将它移动到http://someSite/svn/foo
我发现最明显的方法是使用“待处理更改-源文件”窗口(似乎属于AnkhSVN)。它似乎允许您更改正在使用的仓库。
我得到了这个错误信息:
`Repository UUID '152c39db-5799-4234-85f2-074004a6fcad' doesn't match expected UUID '6c83444d-7f93-d64a-b0a0-23283495cf17'`
问题:
1. 如何避免AnkhSVN中出现此消息? 2. 是否有更好的解决方案将源代码移动到新目标的仓库中? 3. 如何让Ankh永远“忘记”C:\Repositories\下的仓库?
3个回答

5

该对话框可在同一仓库中不同位置之间进行切换(并允许您更改URL,如果仓库已移动)。

在您的情况下,您想要切换到一个完全不共享历史记录的不同仓库。(也许您想保留历史记录,但您没有提到)。

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

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


2
如果您想保留历史记录,请查看优秀的svnbook中的迁移其他地方的存储库数据。它还描述了一种使存储库UUID保持相同的方法,这样您就可以从旧存储库重新定位到新存储库。但请确保禁用旧存储库,以免同时向两个存储库提交(如果发生这种情况,会非常糟糕)。

1

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

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

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

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

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

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接