我有一个单线程程序(C++,Win32,NTFS),它首先创建一个相当长的临时文件,关闭它,打开以进行读取,读取,再次关闭并尝试使用删除DeleteFile().
通常它顺利进行,但有时会DeleteFile(失败,并GetLastError()返回ERROR_ACCESS_DENIED.文件不是只读的.它发生在任何大小的文件上,但概率随文件大小而增加.
什么可能锁定文件的想法?我尝试使用WinInternals工具进行检查,发现没有任何可疑之处.
假设我有一个实用程序some-check {baseline_folder} {working_folder},可以对文件集(而不是单个文件)进行一些比较。
我想在两个略有不同的用例中使用此实用程序:
第一个用例非常简单,因为将基线(即 HEAD)放入临时文件夹并不是什么大问题。
真正的问题是如何将索引放入某个文件夹中。我看到的唯一方法是:
创建一个藏匿处
立即应用回来
用于git-archive通过 stash ref 创建 zip
将其解压缩到临时文件夹
放下藏品
有没有更简洁的方法来做到这一点?
UPD:长话短说:问题是如何获取具有 HEAD+stage 的文件夹,但没有修改/未跟踪。