SVN-更改工作副本以指向新的svn路径


87

我有一个已移至新地址/路径的SVN存储库。但是,我有一个工作副本,其中未提交的源代码仍指向旧的(现在无效的)存储库路径。您如何更改工作副本以指向新的存储库?

Answers:



58

svn switch命令与--relocate命令行选项一起使用。


1
谢谢。这就是我用过的:svn switch --relocate file:/// Users / user / old_repository / project / trunk file:/// Users / user / new_repository / project / trunk
quano 2010年

不修复svn:externals中的URL。知道怎么做吗?
Axel Bregnsbo'5

26

使用TortoiseSVN

  1. 右键单击工作副本,然后选择“ SVN Switch ...”
  2. 在“切换到分支”表单上,选择新的SVN路径

使用命令

  1. 打开控制台
  2. 导航到工作副本 cd [working copy path]
  3. 编写命令 svn relocate [new url]

仅在使用TortoiseSVN(张贴者未指明他或她正在使用)的情况下才适用。
zck

嗨@zck,请注意,我在1个答案中写了2个解决方案,第一个是TortoiseSVN,第二个是Command。不推荐使用此命令进行颠覆,一般而言,您可以查看此页面svn relocate / svn子命令
Ahmed Abdallah 2013年

好吧,在我评论包含命令行方式后,您的答案已被编辑。该命令行答案已经在6月发布,因此无需重复。
zck

不,我将其答案以当前字词发布,仅用于改进格式;而且我认为我写的命令比6月写的命令更清楚
Ahmed Abdallah

TortoiseSVN GUI方式需要单击“重新定位”,而不是切换。鉴于命令行,这是有意义的。。不确定该怎么做-它似乎正在尝试访问旧的URL和新的URL,而我不希望这样做。
杰拉德·奥尼尔

12

更准确地说

svn switch --relocate [complete url of the old repo] [complete url of the new repo] 

例如:

svn switch --relocate  http://svn.repo.com:9880/website/branches  http://svnrepo.com/web/branches 



0

我已经更改了svn服务器,以强制将所有内容从HTTP重定向到HTTPS(可能是重定向到任何其他URL),并且我注意到此svn relocate命令导致了很多外部问题。幸运的是,我发现最简单的方法是执行svn update,由于svn服务器的重定向,它更新了本地工作副本中存储的所有URL,包括外部文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.