【问题标题】: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 状态)
【解决方案3】:
这是一个老问题,但没有一个答案与所提出的问题有任何关系
现在假设您创建了新的存储库(如果不查看其他答案)
在文件菜单中有一个“Subversion”项,在这个“更改源代码控制”选项下
在这里,您需要做的第一件事是断开您的解决方案和所有项目与 SVN 的连接
断开连接后,突出显示解决方案和项目,然后查看屏幕下半部分“SCC 绑定路径”旁边的 [...] 按钮单击它,您可以更改存储库
将其更改为正确的 repo,然后重新连接您的项目和解决方案,您现在应该可以使用新的 repo
在 TortoiseSVN 中使用 Relocate 命令的更简单方法,这将更新解决方案中的 SVN 文件,然后将被 Ankh 拾取,尽管使用相同的“更改源控制”屏幕进行仔细检查