有时我会尝试同时读取和写入Git存储库.但后来当我尝试提交文件时,我收到以下错误消息:
libgit2引发了一个错误.Category = Index(LockedFile).索引已锁定.这可能是由于同意或崩溃的过程.
提交按预期完成,为什么我收到此错误消息?我怎么摆脱它?
(如果LibGit2Sharp开发人员看到这一点:错误消息中存在拼写错误:concuRRRent.):D
Dropbox也会干扰git操作.我在任何git sync之前暂停dropbox同步.
索引是git对象数据库和工作目录之间的网关通道.它在制作提交(即分段,取消暂存,...)或签出文件时使用.因此,同时执行这些操作可能引发这种类型的错误,因为两个操作都将竞争以获得对索引的访问.
有些人在libgit2级别上完成工作,以便为索引的使用提供更好的线程读取操作体验(例如参见libgit2/libgit2#2108).
但是,根据您执行的读/写操作的类型,您可能不需要浏览索引:
例如,导航提交,树或检索Blob的内容不会利用索引.
您也可以通过直接在对象数据库中插入对象来创建Blob,Trees和Commits,而无需通过索引(请参阅此StackOverflow应答以便快速入门).
如果LibGit2Sharp开发人员看到:错误消息中存在拼写错误:concuRRRent.
接得好!您是否想要打开Pull请求以帮助我们解决此问题?;-)