我有一個SVN倉庫(在Dreamhost上託管),需要在二進制文件上設置鎖定。它有時會發生,而提交文件鎖定,由我修改,提交失敗,出現錯誤:SVN經常說我的文件被另一個工作副本鎖住了
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 - >更新整個工作副本 - >提交 - >提交失敗錯誤。更新之後,工作副本似乎忘記了鎖的狀態,並且當它詢問服務器時,它認爲它鎖定在另一個工作副本上。
完美地工作。 – as9876