SVN外部仓库在更新时“已被锁定”

17

基本上我必须在同一台服务器上进行存储库:

svn://repo/foo
-> checked out to d:\foo

svn://repo/bar
-> d:\foo has an svn:external property set to check this out into d:\foo\bar

当执行"svn:update"或新的"svn:checkout"时,这是错误的要点:

Command - Update
Updated - D:\foo
External - D:\foo\bar
External failed - D:\foo\bar
Error - d:\foo\bar is already locked via d:\foo

我“清理”或手动释放锁之后,问题仍然存在。

非常感谢您的任何见解。谢谢!

更新:

Attila 在评论中解决了这个问题。我在代码库中有“foo/bar”的存在。

供日后参考 - 当使用 SVN:External 属性时,SVN将创建外部引用的目标文件夹。


7
仓库中是否有一个svn://repo/foo/bar文件夹?如果是,当您尝试将外部检出到相同的目录(d:\foo\bar)时可能会出现问题。 - Attila
实际上,Attila,那正是发生的事情。我本来以为文件夹必须存在。结果,“svn:externals”属性会在目标文件夹不存在时创建它。感谢您的建议。 - user495368
1个回答

13

根据评论解决方案(为了让答案更完整):

使用 svn:externals 时,外部存储库检出的目录不应存在于原始存储库中。


3
再举一个类似的情况...我有一个存储库中的目录 myLib。此存储库具有外部依赖项 myLib/partAmyLib/partB。我希望将 myLib 直接作为外部库引用到 partApartB 的父级目录。在执行此操作之前,不仅要使用 svn delete 命令删除 myLib 目录,还要提交这个更改,否则即使使用“普通”的删除方法也会不断重建 myLib - altendky
这有点令人困惑,你能详细说明一下,并提供一个截图/目录结构来展示一个例子吗?我遇到了这个错误,不确定应该删除哪个目录... - ganders

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