cma*_*ant 13 svn tortoisesvn dreamhost
我有一个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.
谢谢你的帮助.
更新:我注意到如果我在提交之前更新了我的工作副本,则会发生错误(这不会产生任何错误,当然也不会修改锁定的文件).通过检查文件的状态,在更新龟之前说它被我锁定(仅在本地检查),而在本地更新检查后它给出了"????" 作为锁定状态,并通过检查服务器然后说它被我锁定.更新后,文件变为只读(因为需要锁定),即使它仍被标记为已修改.所以动作的顺序是:lock file.bin - > modify file.bin - >更新整个工作副本 - > commit - > commit failed错误.更新后,工作副本似乎忘记了锁的状态,当它询问服务器时,它认为它被锁定在另一个工作副本上.
小智 37
在Windows上,我通过以下步骤解决了问题:1.单击菜单中的"Repo-browser"启动Repository Browser.2.找到锁定的文件.3.在锁定的文件上单击鼠标右键.4.单击"中断锁定".