Git 'fatal: Unable to write new index file'
I've seen many of the other threads about this and they don't help.
I have a very simple repo - two JavaScript files. I have 100+ GB on Macbook. When I try to move the files into a subdirectory and stage locally the changes I get ...
fatal: Unable to write new index file
This happens whether I do all actions in terminal or if I use a GUI like SourceTree. Additionally, one of the files becomes locked and I cannot delete the working directory until I log off and back in.
Why is this happening? Is the lock preventing something from staging? If so, what/how do I unlock the problem file on OS X?? The remote repo is Google Code, if that makes a difference, though I am not pushing to the remote yet. Everything is local.
Solution 1:
In my case, the disk ran out of space, so I had to delete files from the hard drive to make space.
Solution 2:
I've been having this same problem for the last few days. Basically, without my knowledge the entire repo had been moved to a new filesystem, when I tried to run git status, it was suddenly reporting that every file in the repo had been udpated.
Possible solutions
So, after much google scouring, I tried the following:
- changing .git permssions (same issue)
- changing .git/index permissions (same issue)
- git add-ing all the changes to commit (same issue)
- git rm-ing deleted files, since they were reporting file name too long errors (same issue)
- git reset (soft|Head|Hard) (same issue)
- git clean (same issue)
- turning off windows defender (same issue)
- updating git (same issue)
- different git clients (i use gitbash) (same issue)
- drinking 2 coffees instead of 1 (same issue)
tl:dr - dirty solution
The only thing that managed to solve the issue was to copy the index file, delete the original and rename the copy.
I know its not really a 'solution' but now its magically working ><, with all files / branches intact. If anyone knows why this might have work, do tell.
Solution 3:
In my case, pausing dropbox sync solved the issue
Solution 4:
I had the same issue on a Mac. It seems to be caused by filesystem ACLs. Try chmod -RN /path/to/repo
to clear the ACLs. After doing this I was able to commit changes. Using the trick to copy the index file, delete the original and move the copy back achieved the same result.