开发者

Git rebase got 'unlink of file failed' error

开发者 https://www.devze.com 2023-01-16 02:22 出处:网络
Using msysgit 1.7.0.2, when doing git rebase -i, it hangs and there\'s no message. After enter ctrl+c, I can see

Using msysgit 1.7.0.2, when doing git rebase -i, it hangs and there's no message.

After enter ctrl+c, I can see

'unlink of file failed, should I try again (y/n)?'

Then I tried git rebase --abort but got same error message. So now it's stuck in the middle of rebase process. This error开发者_Go百科 seems to be caused by read-only file.

Is there any way to resolve this issue?


Did you try with set GIT_ASK_YESNO=false?

This Google group thread mentions it in the recent mingw evolutions:

Make use of the new environment variable GIT_ASK_YESNO to support the recently implemented fallback in case unlink, rename or rmdir fail for files in use on Windows.

What exact version of Git for windows are you using?
Note: msysgit setup is not the same than the "Git for Windows" setup, see also "Different between msysgit and cygwin + git ?")


git 2.8.4 (June 2016) does mention issue 755 which should also alleviate the issue (commit 2db0641):

Make sure temporary file handles are not inherited by child processes


See also Git 2.19 (Q3 2018): "Git - Unlink of file .idx and .pack failed (The only process owned handle to this file is git.exe)".


I don't know if it applies in your situation, but I've just had a similar situation with 1.7.10.msysgit.1 (talking to a network share on an Ubuntu server). In my case, a failed merge had made several objects owned by root with permissions -r--rwSr--. A simple SSH login and

sudo chown steve: .git/*

fixed one problem (for my user - unless you're called steve, you'll need to change that to your username!), and

chmod -R 0755 .git/*

fixed the other.


There might be an instance of the file that causes the error to pop-up in git, try closing all other instances of the file and then pressing "y" in git.

Hope it solves the issue!

0

精彩评论

暂无评论...
验证码 换一张
取 消