通常当我检查不同的分支或重置时,我会从一个到十几个文件的窗口中获得“权限被拒绝”错误 – 但是特定文件因运行而异.这是我刚刚做过的测试的输出,GIT_TRACE = 1.跟踪仅在错误消息之前添加了一行:
$git checkout master trace: built-in: git 'checkout' 'master' error: git checkout-index: unable to create file dotnet/src/myfile.cs (Permission denied) D dotnet/src/myfile.cs Switched to branch "master"
我很确定这是在我的机器上使用病毒扫描程序或其他索引服务的比赛.如果竞争持续存在,我可以使用sysinternals来查看文件句柄打开的进程.但是,它发生得很快,我不知道有一个工具可以告诉我这个冲突.令人惊讶的是,我没有发现任何描述类似行为的人.
如何使这些错误停止或进一步诊断问题?
我特别希望通过识别正在进行同步访问的进程来结束文件访问竞争.因此,建议使用一个工具来显示在编辑被拒绝时哪个进程有文件锁定将非常有用.我知道’解锁器’和类似工具会告诉我哪个进程持有文件锁定一段时间.这不适用于此问题,因为该过程会在非常短的时间内锁定文件.所以该工具需要在没有我干预的情况下收集适当的数据,因为我太慢了.
它可能是Windows搜索索引器,它会在创建索引文件时尝试执行索引文件.我使用svn checkout遇到了这个问题,并且在成功签出完整项目之前必须从索引中排除该目录.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。