fatal: unable to create '.git/index': File exists
I kicked off a pull.
Realized I was on the wrong branch
and immediately did a ^C
Now I can't change branches:
# git checkout release fatal: unable to create '.git/index': File exists fatal: unable to create '.git/index': File exists
git reset --hard
does not help.
curiously, moving .git/index to /tmp and repeating results in the same error.
clues?
thanks,
-Len
Hi,
Quoted 8 lines · Len Brown
I kicked off a pull.
Realized I was on the wrong branch
and immediately did a ^CNow I can't change branches:
# git checkout release fatal: unable to create '.git/index': File exists
This usually means that .git/index.lock exists. Try removing that file.
However, it _should_ be removed by the atexit() handler, methinks. I have no idea why it does not.
Ciao,
Dscho
Quoted 10 lines · Johannes Schindelin
Hi,
Quoted 6 lines · Len Brown
I kicked off a pull.
Realized I was on the wrong branch
and immediately did a ^CNow I can't change branches:
Quoted 7 lines
Quoted 2 lines
# git checkout release fatal: unable to create '.git/index': File existsThis usually means that .git/index.lock exists. Try removing that file.
However, it _should_ be removed by the
atexit()handler, methinks. I have no idea why it does not.
We will get SIGINT when the user hits ^C so I don't think the atexit handler will run. However, we also install a signal handler for SIGINT which removes the lock file, so I don't really see how it can be left around...
There is a small race condition between open and signal as we do
fd = open(lk->filename, O_RDWR | O_CREAT | O_EXCL, 0666); ... signal(SIGINT, remove_lock_file_on_signal); atexit(remove_lock_file);
in lock_file:lockfile.c. But I think it is very improbable that the user hits ^C between "open" and "signal". It might be worth fixing though.
Are there any other signals we might get when the user hits ^C? SIGPIPE?
- Fredrik
Got this message once.
The reason was a git process still had a lock on the index file. Make sure you have no git processes left running from the interruption of git pull.
ps -ux | grep "git"
Manu
Quoted 25 lines · Len Brown
I kicked off a pull.
Realized I was on the wrong branch
and immediately did a ^CNow I can't change branches:
# git checkout release fatal: unable to create '.git/index': File exists fatal: unable to create '.git/index': File existsgit reset --hard
does not help.curiously, moving .git/index to /tmp and repeating results in the same error.
clues?
thanks,
(quoted diff) +0
-2-Len -To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 10 lines · Len Brown
I kicked off a pull.
Realized I was on the wrong branch
and immediately did a ^CNow I can't change branches:
# git checkout release fatal: unable to create '.git/index': File exists fatal: unable to create '.git/index': File exists
Quoted 5 lines
git reset --hard
does not help.curiously, moving .git/index to /tmp and repeating results in the same error.
rm .git/index.lock
seemed to do the trick.
Hopefully nothing is toasted by this...