GIT pull failed: 'unable to unlink file: invalid argument'

GitMoodleInvalid Argument

Git Problem Overview


New GIT user here, managing a Moodle course web site system on a Windows server. Trying to do my first Pull update of the core code (using TortoiseGit) and it's not working. Git is unable to unlink old versions of any the 200+ files to be updated because of an "invalid argument". I have no idea what that means.

Here's what it looks like after I dismiss 210 error dialogs: tortoisegit

I've rebooted the server and scoured the web for ideas, but I'm at a loss for what to try next.

Any ideas would be greatly appreciated!

Git Solutions


Solution 1 - Git

I lost hours with that error too.

In my case, I got this error because some files was locked by another program. I had to close everything then I was able to pull again.

Hope this help someone :)

Solution 2 - Git

The error message shows the file name(s) that git was unable to unlink. In windows, you can go to Start Menu > Resource Monitor > CPU tab > Associated Handles and search for the file name (not the full path), then you will get a result of the process locking that file. In my case, it was explorer.exe. So I killed that process and git worked again as expected.

I guess you can do that same using other operating systems by finding the process(es) locking the file(s).

Solution 3 - Git

Try to close any other tools while using Tortoisegit

Solution 4 - Git

I also had unlink issues when trying to pull from gitlab.

Based on ivan866's and Nicolas Leucci's answer, to resolve I simply opened my SourceTree in administrative mode which fixed my problem. I suppose SourceTree didn't have enough rights to handle the permissions correctly. Anyway it's worth a try!

Solution 5 - Git

The issue is connected with file permissions. Can appear after using the external drive on Windows 7, then on Windows 10 again. Especially it is risky to leave the first computer, i.e. the one used first, in hibernate mode with applications opened - many opened files can get corrupt after you reconnect the drive after using those files on another computer, but with same apps.
Can be healed with CHKDSK /f, but it is highly likely messed files will get deleted.

Solution 6 - Git

I rebooted the pc I was pulling the 'troubled' file into and at the same time I closed the IDE on my other pc which was using the very file and from which I had pushed it. It worked

Solution 7 - Git

I was running a program in InteliJ, and stopping it released the file. It worked afterwards

Solution 8 - Git

This issue happens if the solution is open in your IDE because the files are locked. Try to close the solution and then re-attempt the operation.

Solution 9 - Git

For me, I was getting:

"error: unable to unlink old 'Library/ArtifactDB': Invalid argument error: unable to unlink old 'Library/SourceAssetDB': Invalid argument fatal: Could not reset index file to revision 'HEAD'."

And as soon as I closed Unity Git was able to work normally. I think the Unity permissions must've made it go funny.

Solution 10 - Git

I had this issue while merging branches. Opening Powershell with admin rights and performing merge there helped.

Solution 11 - Git

In my case, despite restarting my computer and closing any IDE I had running, I STILL had the problem, and trying to run the git pull in sudo mode returned a different error. The solution was tu use (in local, so it wasn't a security issue) sudo chmod 777 path/to/folder/of/file and sudo chmod 777 path/to/folder/of/file/specificFile.ext.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionpillsburView Question on Stackoverflow
Solution 1 - GitNicolas LeucciView Answer on Stackoverflow
Solution 2 - GitZein MakkiView Answer on Stackoverflow
Solution 3 - GitAhmed AMMOURIView Answer on Stackoverflow
Solution 4 - GitMichael ManleyView Answer on Stackoverflow
Solution 5 - Gitivan866View Answer on Stackoverflow
Solution 6 - GitfintechillaView Answer on Stackoverflow
Solution 7 - GitymerdrengeneView Answer on Stackoverflow
Solution 8 - GitAjay MedaView Answer on Stackoverflow
Solution 9 - GitVallisneriaView Answer on Stackoverflow
Solution 10 - GitAlamakanambraView Answer on Stackoverflow
Solution 11 - GitJonathan SimonneyView Answer on Stackoverflow