2012-03-22 45 views
17

基本上我有在同一台服务器上回购:SVN的外部回购“已锁定”在更新

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:更新”或新“的svn:结账”这是要点错误:

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

后,我“干净”或手动解除锁定,问题仍然存在。

任何见解将不胜感激。谢谢!

更新:

阿提拉钉在注释。我在存储库中存在“foo/bar”。

为了将来的参考 - 当使用SVN:外部属性时,SVN 将创建外部引用的目标文件夹。

+7

你有在存储库中的svn:// repo/foo/bar文件夹吗?这可能会导致问题,当你试图检查外部到相同的目录(D:\富\酒吧) – Attila 2012-03-22 15:05:26

+0

其实阿提拉这正是发生了什么事。我预计该文件夹将不得不存在。结果“svn:externals”属性将创建目标文件夹,如果它不存在。 感谢您的建议。 – user495368 2012-03-22 17:03:26

回答

13

正如评论解析(只是把它在正确的答案也一样):

当使用SVN:外部组件,其中的外部存储库签出的目录不应该在原有的库中存在

+3

只是为了增加另一个案例,这里出现了......我有一个目录'myLib'内的回购协议。回购有外部'myLib/partA'和'myLib/partB'。我希望将'myLib'外部直接添加到外部库中'partA'和'partB'的父级。在我能做到这一点之前,我不仅需要'svn删除'myLib'目录,还要提交这个更改,否则'myLib'不断被重新创建,即使我'经常'删除它。 – altendky 2012-12-28 19:14:12

+0

这是令人困惑的,你可以详细说明一下,也许提供一个截图/目录结构来显示一个例子吗?我得到这个错误,不知道我应该删除哪个目录... – ganders 2014-02-19 16:24:36