我有这个非常烦人的问题,我试图将我们的主干合并到我的分支中进行一些更新。我每天都这样做,但几乎每一天我都会收到以下错误:
Error - 'D:\Code\Website' is already locked via 'D:\Code\Website'.
只是非常随机地发生此错误,我能够成功地将trunk合并回分支。然而,整天我一直试图从行李箱中获取最新信息但没有成功。我对这个问题的回答看起来很高......所以,谷歌,互联网上的随机论坛......等我希望有人可以解释为什么会发生这种情况。
这是我已经尝试过的:
我能够更新分支并提交它...从来没有出现过问题。它只是合并后备箱,这导致我的问题。团队中没有其他人似乎有这个问题(有这个分支,或任何其他分支)。他们可以自由地检查分支..合并主干并提交它没有问题。
我正在使用TortoiseSVN。你们/ gals的任何帮助都会很棒!
编辑:此外,测试合并工作..但实际合并不起作用。
更新
事实证明,TSVNCache.exe CONSTANTLY持有wc.db文件上的锁。我不知道为什么。即使我杀了这个过程;一旦我通过TSVN Merge GUI,它就会再次激活缓存并锁定它。我已经设法通过命令行成功合并..有没有办法解决缓存锁定问题,以避免不得不依赖命令行?
答案 0 :(得分:8)
尝试关闭图标覆盖状态缓存(TSVNcache.exe进程负责的内容)
如果状态缓存被禁用且TSVNcache.exe未运行,则可能无法锁定任何文件。你至少可以排除这是否是问题(听起来确实如此)。这是负责使用绿色复选标记,红色修改标记等更新资源管理器中的文件夹/文件图标的过程。多年来,我因性能原因禁用了此功能。我只是查看修改过的文件或打开提交对话框以查看哪些文件已更改。
之后,下一个最可能的嫌疑人是过去经验中的索引服务(Windows搜索)。
答案 1 :(得分:4)
我遇到了同样的问题。这是我做的:
我想某种程度上Windows资源管理器可以锁定某些内容。
答案 2 :(得分:2)
另一个适用于我而不是放弃图标叠加的选项是将Windows资源管理器中的目录更改为非svn文件夹,这样TortoiseSVN就不会与自身发生冲突。这太烦人了,但如果你需要快速解决方案 - 就是这样。
答案 3 :(得分:1)
我有一段时间同样的问题了。特别是因为我的存储库正在变得越来越难。
TSVNCache锁定工作副本的指针让我思考。为什么会这样做?结论:仅在忙于更新工作副本状态时(包括图标叠加)。
克服这个问题的一种方法正是Joshua McKinnon所说的:禁用图标叠加。如果这不是您想要的解决方案(因为您想保留图标),您还可以采用不同的方法:等到TSVNCache完成其工作。当您打开合并窗口时,您可以看到TSVNCache正忙(在进程资源管理器中)。当忙碌结束时,可以安全地进行合并。从那以后再没有锁定问题!