Git-文件.idx和.pack的取消链接失败(此文件的唯一进程拥有的句柄是git.exe) [英] Git - Unlink of file .idx and .pack failed (The only process owned handle to this file is git.exe)

查看:413
本文介绍了Git-文件.idx和.pack的取消链接失败(此文件的唯一进程拥有的句柄是git.exe)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请看这张图片! 可能是git那愚蠢的? Git无法取消链接某些文件,但是只有git.exe持有此文件的句柄. (权限确定-完全控制) 请为这个问题找到安全的解决方案吗? 我的Git版本是1.9.5-preview20141217

解决方案

Git 2.19(2018年第三季度)改进了packfile的文件描述符管理,并避免了"Unlink of file... failed. Should I try again?"错误消息.

参见 Junio C Hamano-gitster-合并在git gc --auto"在生成"git repack/prune"之前打开packfile的文件描述符,这会使不希望某个进程在另一个进程打开的文件上工作的Windows感到沮丧.

教导gc --auto在自动打包存储库之前发布打包文件 以防止在删除故障时出现故障.

还教导测试使用auto-gc提取不会锁定"来抱怨 当它不再触发存储库的自动打包时.

这解决了 Git for Windows问题文件XXX的取消链接失败.我应该再试一次吗?" ,使用 PR 1769 .

Please, look at this picture! could be git that stupid? Git couldn't unlink some file, but only git.exe is holding a handle to this file. (Permissions are ok - Full control) Please, is there a safe solution for this problem? My Git version is 1.9.5-preview20141217

解决方案

Git 2.19 (Q3 2018) improves the file descriptors management for the packfiles, and avoid the "Unlink of file... failed. Should I try again?" error message.

See commit 12e73a3 (09 Jul 2018) by Kim Gybels (dscho).
(Merged by Junio C Hamano -- gitster -- in commit 562413e, 02 Aug 2018)

gc --auto: release pack files before auto packing

"git gc --auto" opens file descriptors for the packfiles before spawning "git repack/prune", which would upset Windows that does not want a process to work on a file that is open by another process.

Teach gc --auto to release pack files before auto packing the repository to prevent failures when removing them.

Also teach the test 'fetching with auto-gc does not lock up' to complain when it is no longer triggering an auto packing of the repository.

This solves the Git for Windows issue "Unlink of file XXX failed. Should I try again?", with PR 1769.

这篇关于Git-文件.idx和.pack的取消链接失败(此文件的唯一进程拥有的句柄是git.exe)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆