Repository.RemoveUntrackedFiles():访问被拒绝

时间:2015-06-25 03:34:15

标签: asp.net git iis github libgit2sharp

Windows Server 2008 
McAfee Agent v4.8.0.1938 
no indexing service 
ASP.NET C# app 
libgit2sharp v0.21.0.176 NuGet package 

我的ASP.NET应用程序使用libgit2sharp Repository.Clone()方法将GitHub存储库克隆到本地存储库

在我的本地工作站上运行我的应用程序测试,我对此repo执行各种操作,没有任何问题。

但是,一旦我的应用程序部署到远程服务器并托管在IIS中,我遇到的似乎是权限或锁定问题。

Repository.RemoveUntrackedFiles()

抛出异常:

  

无法将lockfile重命名为'c:/github/my-org/my-repo/.git/index':   访问被拒绝。

如果我重新尝试操作,它会再次失败,但这次有一个不同的例外:

  

索引已锁定。这可能是由于并发或崩溃造成的   过程

后续尝试(无论多少次)都会因同样的异常而失败。

问题未通过iisreset或重新启动解决。

如果我通过转到cli并删除本地repo文件夹然后运行git clone来重新创建本地存储库,我现在能够成功执行各种git操作,直到我再次尝试Repository.RemoveUntrackedFiles()此时以上错误序列重新出现。

编辑:我也遇到了与

类似的问题

Repository.Checkout()

抛出异常:

  

无法将lockfile重命名为'c:/github/my-org/my-repo/.git/index':   访问被拒绝。

然后我转到服务器并从命令行尝试git checkout master:

c:\github\opentable\service-ot-frontdoor-config>git checkout master
fatal: Unable to create 'c:/github/opentable/service-ot-frontdoor-config/.git/index.lock': File exists.

如果当前没有其他git进程正在运行,这可能意味着a git进程先前在此存储库中崩溃了。确保没有其他的git 进程正在运行并手动删除文件以继续。

0 个答案:

没有答案