As a follow on from this question on SO, I have been working with yysun's great handler-based solution for web access for GIT on a IIS platform. Their solution works perfectly when used locally on my machine (i.e. win 7, iis 7.5, .NET 4.0), but fails across the network.
Unfortunately, I need to have this running on a remote VM with Win 2003, IIS 6开发者_如何学JAVA and .NET 4. I'm running the web application as "Local Service" and have for now given that identity full control over the repo base directory. The web application can see the dir (i.e. enumerate git repos under that base dir) but when I try to do a "git clone" using TortoiseGIT, MSysGIT and cygwin GIT from my machine, I get the following error:
git.exe clone --progress -v "http://1.2.3.4/git/AgentDesktop.git" "C:\dev2\tmp"
fatal: http://1.2.3.4/git/AgentDesktop.git/info/refs not found: did you run git update-server-info on the server?
Initialized empty Git repository in C:/dev2/tmp/.git/
I've run "git update-server-info" and "git update-server-info -f" on the server repo, and the .../info/refs file does exist and contains the revision SHAs of the branches I want.
This seems to be a very common issue, but so far I can't see a definitive answer on how to fix it.
Any ideas?
This is not exactly what you are looking for... but maybe a change in tack would be good. What about using the IIS plugin IIRF to configure a reverse proxy to Gitblit. Gitblit is written in Java, not .NET. Or maybe just run Gitblit directly?
精彩评论