如何使用AnkhSVN 2.x更改存储库URL

时间:2009-01-19 19:18:54

标签: svn ankhsvn

我在VS 2008上使用Ankh v2.0.5250.202连接到我的Subersion服务器(VisualSVN服务器1.6.3)

我的存储库的当前网址是https://svnserver:8443/svn/foo/foo/trunk/,我想切换到https://svnserver:6002/svn/foo/foo/trunk/

我正在使用“切换到”工具在“待更改”窗口的网址栏右侧选择一个新网址。

不幸的是,当我选择新网址时,我收到一条错误信息 的 'https://svnserver:8443/svn/foo/foo/trunk' 与...不同的存储库 'https://svnserver:6002/svn/foo'

我尝试输入“https://svnserver:6002/svn/foo”,“https://svnserver:6002/svn/foo/foo”,“https://svnserver:6002/svn/foo/foo/trunk”,但我总是遇到同样的错误。

有修复吗?或者我可以手动编辑的配置文件? (我没有找到这样的配置文件)

注意:在服务器端,我已经改变了服务器端口而没有接触任何其他内容。我可以使用存储库资源管理器浏览存储库,所以我认为问题出在客户端。

4 个答案:

答案 0 :(得分:13)

在AnkhSVN的每日版本中(以及自2009年3月以来的稳定版本),Switch命令将为您处理此案例。

AnkhSVN将检测到存储库根目录不匹配,然后它会询问您是否要重新定位。

有关每日构建的信息,请参阅http://ankhsvn.net/daily/

答案 1 :(得分:6)

“switch”命令是错误的命令!

您必须使用“relocate”命令。不确定AnkhSVN是否有这个。

对于svn客户端,您必须使用

svn switch --relocate FROM TO [PATH...]

(是的,这是'switch'命令,但只有UI明智 - 在内部,重定位使用与交换机完全不同的API。)

答案 2 :(得分:1)

我在使用AnkhSVN和颠覆时遇到了很多麻烦。

我很容易将解决方案切换到另一个存储库。这看起来很奇怪,但确实有效。

首先,您必须从当前项目中导出模板。现在使用您自己的模板创建新解决方案,然后将新解决方案添加到新的subversion目录并从MyDocuments中删除您的模板。那就是它。

答案 3 :(得分:0)

嗯,这是一种痛苦。我有一个类似的问题很长一段时间,我仍然有点不知道如何让它工作。我的回答可能不适用(我希望它有所帮助)。

尝试清除隐藏在项目目录中的SVN文件夹...查看this question。如果您不知道如何(警告,它需要注册表调整),最后一个答案有一个清除隐藏SVN文件夹的好方法。

一旦这样做,您应该能够更改存储库。不幸的是,我找不到任何配置文件来手动编辑。