如何使用AnkhSVN 2.x更改代码库的URL

4

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

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

我正在使用“Switch To”工具,在“待处理更改”窗口的url栏右侧选择一个新的URL。

不幸的是,当我选择新的URL时,我会收到一个错误提示:

'https://svnserver:8443/svn/foo/foo/trunk' 并不是同一仓库 as 'https://svnserver:6002/svn/foo'

我已经尝试输入 'https://svnserver:6002/svn/foo', 'https://svnserver:6002/svn/foo/foo', 'https://svnserver:6002/svn/foo/foo/trunk',但我总是收到相同的错误提示。

是否有解决方法?或者我可以手动编辑哪个配置文件?(我没有找到这样的配置文件)

注意:在服务器端,我只更改了服务器端口,没有其他更改。我可以使用仓库浏览器浏览存储库,因此我认为问题可能出现在客户端上。

4个回答

13
在AnkhSVN的日常构建版本中(自2009年3月的稳定版本以来),切换命令将为您处理此情况。
AnkhSVN将检测到仓库根目录不匹配,并询问您是否希望重定位。
请参见http://ankhsvn.net/daily/获取每日构建版本。

6

"switch" 命令是错误的命令!

你需要使用 "relocate" 命令。不确定 AnkhSVN 是否有此功能。

对于 svn 客户端,你需要使用

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

是的,它是“switch”命令,但仅限于UI方面 - 在内部,重定位使用完全不同于switch的API。


1

在使用AnkhSVN和subversion时,我遇到了很多问题。

我有一个非常简单的想法,可以将解决方案切换到另一个存储库。这似乎很奇怪,但它确实有效。

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


0

唉,真是个烦心事。我长时间遇到了类似的问题,对于如何解决它还有些摸不着头脑。我的答案可能不适用(但希望能帮到你)。

尝试清除项目目录中隐藏的SVN文件夹...看一下这个问题。最后一个答案提供了一个很好的方法来清除隐藏的SVN文件夹,如果你不知道怎么做的话(警告,需要修改注册表)。

一旦你这样做了,你应该能够更改仓库。不幸的是,我找不到任何配置文件可以手动编辑。


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