我有一个 SVN 存储库(托管在 Dreamhost 上),在二进制文件上设置了需求锁定。有时会发生这样的情况:在提交我锁定和修改的文件时,提交失败并出现错误:
Error: Commit failed (details follow):
Error: File '/my/file.bin' is locked in
Error: another working copy
如果我尝试锁定该文件(而不窃取它),它会显示:
Error: Path '/my/file.bin' is already locked by user
Error: 'my_username' in filesystem '/home/user1/svn/repo1/db'
清理没有帮助,所以解决这个问题的唯一方法就是窃取锁,然后提交成功。
这不是一个关键问题,但它确实很烦人,尤其是当它发生在长时间提交的中间时。
我倾向于认为这是由客户端或服务器的错误引起的,因为我确信我没有使用其他工作副本,并且这个问题对我来说相当频繁地发生(最近两天发生了 3 次)和我的同事使用该存储库。
我们使用的是TortoiseSVN 1.8.4,而Dreamhost svn服务器是1.6.12。
谢谢你的帮助。
更新:我注意到,如果我在提交之前更新工作副本,就会发生错误(这不会给出错误,当然也不会修改锁定的文件)。通过检查文件的状态,在更新之前乌龟说它被我锁定了(仅在本地检查),而在更新之后在本地检查它给出“???”作为锁定状态,通过检查服务器,它会说它被我锁定了。更新后,文件将变为只读(因为需要锁定),即使它仍然标记为已修改。所以操作顺序是:锁定 file.bin -> 修改 file.bin -> 更新整个工作副本 -> 提交 -> 提交失败错误。更新后,工作副本似乎忘记了锁的状态,并且当它询问服务器时,它认为它被锁定在另一个工作副本上。
在 Windows 上,我通过以下步骤修复了该问题:
1. 单击菜单中的“Repo-browser”启动存储库浏览器。
2. 找到锁定的文件。
3. 在锁定的文件上单击鼠标右键。
4. 单击“解除锁定”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)