Re: Git rebase dies with fatal: Unable to create '.../.git/index.lock': File exists.
- From
- Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
- Date
- Sep 16, 2013, 21:21 UTC
- Message-ID
- <20130916212159.GA16437@obsidianresearch.com>
- In-Reply-To
- <20130916211501.GA5477@sigill.intra.peff.net>
On Mon, Sep 16, 2013 at 05:15:01PM -0400, Jeff King wrote:
Show 20 quoted lines
> On Mon, Sep 16, 2013 at 12:28:52PM -0600, Jason Gunthorpe wrote: > > > I have emacs windows open that have files within the git tree open in > > them. My emacs has vc-git mode loaded and global-auto-revert-mode set. > > > > During the rebase the files open in emacs are changed by git, when > > emacs notices this (which is random with respect to the ongoing > > rebase) it auto reverts and runs git commands (due to vc-git), which > > causes the rebase to randomly fail. > > > > Worse, I've noticed that this also randomly seems to cause the rebase > > to loose a commit if you --continue from that point. > > > > Can git have some retry in the locking so this doesn't happen? > > I'm not clear on which git commands are being run. If they are actually > mutating the index, then isn't this more than a lock contention issue? > In other words, "git rebase" is assuming nobody is mucking with the > index while it runs; if emacs is doing so, then the results could be > quite confusing, even if we retried the lock acquisition.
I'm not sure what commands vc-git mode in Emacs is actually running automatically, but I'd be surprised and alaramed if they were mutating command..
I agree retry on the lock is hackish, holding the lock continuously rather than release/reaquire during operation would be much stronger prevention.
Jason