我遇到了一个非常非常让人恼火的问题,就是我正在尝试将主干版本合并到我的分支上进行一些更新。我每天都在做这个,但几乎每一天我都会遇到以下错误:
Error - 'D:\Code\Website' is already locked via 'D:\Code\Website'.
只有很少的情况下会发生这个错误,我才能成功地将主干合并回分支。然而,整天以来我一直在尝试获取最新的主干,但都没有成功。我已经四处寻找解决这个问题的答案了。在Stack Overflow, Google, 互联网上随机的论坛等等。我希望有人可以解释为什么会出现这种情况。这是我已经尝试过的:
- 在目录中的每个文件夹上运行 "清理"。 - 检查 .svn 目录中的 "锁定" 文件 - 不存在。 - 打开 wc.db 文件并检查 WC_LOCK 表 - 里面没有任何东西。 - 禁用反病毒软件。 - 禁用 IIS。 - 检出一个全新的分支。 - 更新 TortoiseSVN。 - 完全卸载并重新安装 TortoiseSVN,并使用来自 TortoiseSVN.net 的最新 MSI(1.7.10.23359,SVN 1.7.7)。
我可以更新分支并提交它...从来没有出现过问题。只是合并主干时出现问题。团队中没有其他人遇到此问题(无论是与此分支还是其他分支)。他们可以自由地检出分支.. 合并主干并提交它而没有问题。
我正在使用 TortoiseSVN。你们能提供的任何帮助都将是fantastic!
编辑:测试合并可以正常工作,但实际合并不行。
更新:
原来 TSVNCache.exe 一直在 wc.db 文件上保持锁定。我不知道为什么。即使我杀死进程;一旦我通过 TSVN 合并 GUI 进行操作,它会再次启动缓存并将其锁定。我已经成功地通过命令行进行了合并.. 是否有办法修复缓存锁定问题以避免依赖于命令行?