以编程方式删除克隆存储库的目录

Wil*_*ert 1 c# git libgit2sharp

我正在使用LibGit2Sharp将远程存储库克隆到 Windows 临时文件夹中。我的脚本完成后,我想清理一下。但是,我总是收到以下错误:

系统错误:拒绝访问路径“pack-efcef325f8dc897099271fd0f3db6cf4d9f12393.idx”。

pack-efcef325f8dc897099271fd0f3db6cf4d9f12393.idx文件在哪里$local_git_clone_path\objects\pack.

如何完全删除我使用 LibGit2Sharp 克隆的 git repo 的所有本地剩余物?

jac*_*ous 5

我记得我也遇到过类似的情况。

而且,作为建议由@nulltoken,你将不得不Dispose()Repository试图删除正在举行由它的文件之前。

using 应该是最好的选择。

using (var repo = new Repository(repositoryPath))
{
  //Your repo specific implementation.
}

//Code to Delete your local temp dir
Run Code Online (Sandbox Code Playgroud)

参考:来自 LibGit2Sharp 的Clone Fixture