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

时间:2013-05-08 15:17:52

标签: c# git libgit2sharp

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

  

SystemError:拒绝访问路径'pack-efcef325f8dc897099271fd0f3db6cf4d9f12393.idx'。

其中pack-efcef325f8dc897099271fd0f3db6cf4d9f12393.idx$local_git_clone_path\objects\pack.

中的文件

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

1 个答案:

答案 0 :(得分:4)

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

并且,正如@nulltoken所建议的那样,在尝试删除它所持有的文件之前,您必须Dispose() Repository

using应该是最好的选择。

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

//Code to Delete your local temp dir

参考:来自LibGit2Sharp的Clone Fixture