LibGit2Sharp索引被锁定 - 错误

时间:2014-04-22 20:19:40

标签: git github versioning libgit2 libgit2sharp

有时我会尝试同时读取和写入Git存储库。 但之后,当我尝试提交文件时,我收到以下错误消息:

  

libgit2引发了一个错误。 Category = Index(LockedFile)。该   索引被锁定。这可能是由于同意或崩溃造成的   过程

提交按预期完成,为什么我收到此错误消息?我该如何摆脱它?

(如果LibGit2Sharp开发人员看到这一点:错误消息中存在拼写错误:concuRRRent。):D

3 个答案:

答案 0 :(得分:8)

Dropbox也会干扰git操作。我在任何git sync之前暂停dropbox同步。

答案 1 :(得分:5)

索引是git对象数据库和工作目录之间的网关通道。它是在制作提交(即分段,取消暂存,...)或签出文件时使用的。因此,同时执行这些操作可能会引发这种错误,因为两个操作都会竞相获取对索引的访问权。

在libgit2级别完成一些工作,以便为线程读取操作提供更好的索引使用体验(例如,参见 libgit2/libgit2#2108 )。

但是,根据您执行的读/写操作类型,您可能不需要浏览索引:

  • 例如,导航提交,树或检索Blob的内容不会利用索引。
  • 您也可以通过直接在对象数据库中插入对象来创建Blob,Trees和Commits而无需浏览索引(请参阅 StackOverflow answer 以便快速入门)。
  

如果LibGit2Sharp开发人员看到:错误消息中存在拼写错误:concuRRRent。

好抓!您是否想要打开Pull请求以帮助我们解决此问题? ; - )

答案 2 :(得分:1)

我得到了同样的错误,我删除了.git文件夹中的index.lock文件,其中创建了我的存储库,然后问题得到了解决。