svn switch错误 - 不是同一个存储库

Gab*_*mon 76 svn svn-switch migrating

我最近移动了SVN服务器,现在我想将工作副本从我的计算机重新定位到新服务器.但我得到了最奇怪的错误.我做 :

svn switch http://99.99.99.new/svn/company/project/trunk/web
Run Code Online (Sandbox Code Playgroud)

但我明白了

svn: 'http://99.99.99.old/svn/company/project/trunk/web'
is not the same repository as
'http://99.99.99.new/svn/company/project'
Run Code Online (Sandbox Code Playgroud)

移动是使用转储和导入...而repo根位于http://99.99.99.new/svn/company/project

你们有什么想法可能有什么不对吗?非常感谢

Ste*_*eef 130

尝试使用

svn switch --relocate http://99.99.99.old/svn/company/project/trunk/web http://99.99.99.new/svn/company/project/trunk/web
Run Code Online (Sandbox Code Playgroud)

正如Sporino在评论中指出的那样,自Subversion 1.7以来,有一个单独的relocate命令:

svn relocate http://99.99.99.old/svn/company/project/trunk/web http://99.99.99.new/svn/company/project/trunk/web
Run Code Online (Sandbox Code Playgroud)


Pas*_*auf 23

此外,在TortoiseSVN中有"重定位"选项,您应该在这些情况下使用它(而不是"切换"选项).


Gab*_*leV 7

我进行SVN重定位的最佳方法是:

svn switch --relocate $(svn info | grep ^URL | cut -f 2 --delim=' ') \
                      new_url_or_repository
Run Code Online (Sandbox Code Playgroud)

通过这种方式,使用svn info命令中的正确旧URL ,您肯定不会输入错误的URL ,这是常见的错误之一.

如果一切正确,如果新位置不同,系统将提示您输入新位置的身份验证详细信息.

发出命令后,请务必仔细检查是否已应用更改,并查看URL参数,并发出

svn info
Run Code Online (Sandbox Code Playgroud)

重新定位后,更新您的工作副本,检查一切正常:

svn update
Run Code Online (Sandbox Code Playgroud)

我的2c ..