"文件夹"已被"文件夹"锁定

Sim*_*ead 22 svn version-control tortoisesvn merge

我有这个非常烦人的问题,我试图将我们的主干合并到我的分支中进行一些更新.我一直这样做,但几乎每一天我都会收到以下错误:

Error - 'D:\Code\Website' is already locked via 'D:\Code\Website'.
Run Code Online (Sandbox Code Playgroud)

只是非常随机地发生此错误,我能够成功地将trunk合并回分支.然而,整天我一直试图从行李箱中获取最新信息但没有成功.我对这个问题的答案看起来很高和很低..所以,谷歌,互联网上的随机论坛......等等我希望有人可以解释为什么会发生这种情况.

这是我已经尝试过的:

  • 在目录中的每个文件夹上运行"清理".
  • 检查.svn目录中的"lock"文件 - 不存在.
  • 打开wc.db文件并检查WC_LOCK表 - 没有任何内容.
  • 禁用反病毒.
  • 已禁用IIS.
  • 检查了分支的新副本.
  • 更新了TortoiseSVN
  • 使用TortoiseSVN.net的最新MSI(1.7.10.23359,SVN 1.7.7)完成卸载并重新安装TortoiseSVN.

我能够更新分支并提交它..从来没有一个问题.它只是合并后备箱,这导致我的问题.团队中没有其他人似乎有这个问题(有这个分支,或任何其他分支).他们可以自由地检查分支..合并主干并提交它没有问题.

我正在使用TortoiseSVN.你们/ gals的任何帮助都会很棒!

编辑:此外,测试合并工作..但实际合并没有.

UPDATE

事实证明,TSVNCache.exe CONSTANTLY持有wc.db文件上的锁.我不知道为什么.即使我杀了这个过程; 一旦我通过TSVN Merge GUI,它就会再次激活缓存并锁定它.我已成功通过命令行合并..有没有办法解决缓存锁定问题,以避免不得不依赖命令行?

Jos*_*non 8

尝试关闭图标覆盖状态缓存(TSVNcache.exe进程负责的内容)

  1. 打开资源管理器窗口
  2. 右键单击任意位置,TortoiseSVN - >设置
  3. 转到"图标叠加"部分
  4. 选择Status Cache下的"None"单选按钮
  5. 单击"应用"

假设状态缓存被禁用且TSVNcache.exe未运行,则无法锁定任何文件.你至少可以排除这是否是问题(听起来确实如此).这个过程负责使用绿色复选标记,红色修改标记等更新资源管理器中的文件夹/文件图标.多年来,我因性能原因禁用了此功能.我只是查看修改过的文件或打开提交对话框以查看哪些文件已更改.

之后,下一个最可能的嫌疑人是过去经验中的索引服务(Windows搜索).