重新安置后SVN外部损坏

时间:2009-10-01 14:30:03

标签: svn tortoisesvn svn-externals

所以我们最近将SVN服务器从根路径(svn:// sever /)转移到子文件夹(svn:// server / sub /),以允许同一服务器上有多个存储库。

我们已经检查了许多工作副本,我们希望保持原样。使用Tortoise SVN,我们运行了Relocate命令,一切似乎都很好。

除了外部。我们所有的外部都是相对链接的(使用^/folder/ folder语法),因此实际的外部属性仍能正常工作...问题是外部属性已检出的文件夹仍然认为他们与旧的道路有关。

当我运行更新时,我收到来自所有外部的错误消息:

'svn://server/old/folder/path'
is not the same repository as
'svn://server/sub'

有没有办法纠正工作副本而无需手动删除/重新定位外部定义创建的所有文件夹?我们有很多,虽然这是一个选项并且确实有效,但我只是想知道是否有更自动化的方法。

谢谢!

1 个答案:

答案 0 :(得分:1)

svn st --ignore-externals将列出具有“X”状态的外部。您可以围绕它构建一个脚本来查找所有外部,然后执行svn switch --relocate ....。如果您拥有的唯一外部是相对的外部,您应该能够盲目地进行重新定位,但如果您有任何指向另一个服务器,则需要添加svn info步骤以确保外部是一个需要修复的。