Re: 'Failed to create .git/index.lock'
On Mon, 15 Feb 2016 18:06:33 +0000, Lars Schneider wrote:
> Hi Andreas,
>
> I am looking into a similar issue with SourceTree on Windows right now. However, in my case it only happens when I switch branches.
Semi-bingo. That is actually a difference between the workspace this happens in and the others. This one works on many branches; the others clone anew for each new branch.
I investigated the Git commands that SourceTree triggers and it looks like it is doing something like this:
Show 7 quoted lines
> (1) Run checkout command
> git.exe --no-pager -c color.branch=false -c color.diff=false -c color.status=false -c diff.mnemonicprefix=false -c core.quotepath=false checkout MY-BRANCH
>
> (2) Run rev-parse command
> git.exe --no-pager -c color.branch=false -c color.diff=false -c color.status=false -c diff.mnemonicprefix=false -c core.quotepath=false rev-parse HEAD^1
>
> My assumption is that SourceTree triggers these two commands in parallel and sometimes (2) locks the repo first which makes (1) fail.
That would be partly a bug in SourceTree to do so.
> Does your Git process run on Windows, too?
> Is there a possibility that you issue Git commands in parallel?
I don't think so, except for background GC (which isn't quite background - one phase seems to still run foregrounded).
> I also have read that certain anti virus software can trigger these errors on Windows.
That is an ugly problem indeed.
> I looked through the Git code found that increasing "core.packedrefstimeout" [1] might help in some cases that trigger this error [2] but not in others [3]. In my case this seems to help. Maybe it's worth a try for you, too?
I may need to look into that. Because sometimes the lock causes my automatic process to fail but the lock file isn't there anymore when I get to cleanup. But sometimes it keeps existing.
Andreas
--
"Totally trivial. Famous last words."
From: Linus Torvalds <torvalds@*.org>
Date: Fri, 22 Jan 2010 07:29:21 -0800