Re: FW: git via http protocol _and_ a proxy using NTLM authentication -- git 1.5.4.2 & curl 7.18.0
- From
Mike Hommey <mh@glandium.org>
- Date
- Feb 29, 2008, 20:32 UTC
- Message-ID
- <20080229203220.GB27217@glandium.org>
- In-Reply-To
- <AA28F077645B324881335614E4F7C428034C15@win-ex01.bench.com>
On Fri, Feb 29, 2008 at 02:06:49PM -0600, Ken.Fuchs@bench.com wrote:
Show 42 quoted lines
> > On Thu, 28 Feb 2008, Ken.Fuchs@bench.com wrote: > > > > > Unfortunately, this will not work because "git clone" is > > > implemented by git-clone.sh and has no support for dealing > > > with proxies at all. > > > > I fail to see why git-clone.sh, which uses git http-fetch > > directly, should behave differently from git fetch, which > > uses git http-fetch directly. > > Sorry, I wasn't very clear. When I said "git fetch" works, I meant > only the proxy is initiated properly. "git fetch" itself still fails: > > fatal: Couldn't find remote ref HEAD > > As I understand it, this is due to "git clone" failing earlier. > > > I strongly suspect that you did not even try what I suggested. > > I know you were trying to help. I sincerely regret not thanking > you in my earlier response to your suggestion. However, I had > already tried your suggestion over a week ago (plus numerous > user-id:password variants of the http_proxy environment variable). > I also tried "git config http.proxy <proxy.domain>:<proxy-port>". > I did not try "git config remote.<name>.proxy" which had an issue > that was recently fixed via a patch submission a few days ago. > > > > So it seems that git's http protocol via a proxy isn't completely > > > supported. > > > > If that should really be the case, well, Git is a programmers' tool, > so > > you should be perfectly able to find out what is happening _exactly_. > > Well, all git http proxy stuff is handled by curl, so GIT_CURL_VERBOSE=1 > should get us pretty close to "what is happening _exactly_": > > $ GIT_CURL_VERBOSE=1 git clone http://www.kernel.org/pub/scm/git/git.git > Initialized empty Git repository in /mnt/nfs/git/test-git/git/.git/ > Cannot get remote repository information. > Perhaps git-update-server-info needs to be run there? > $
git clone is a shell script and doesn't put all the wrap-up around curl. GIT_CURL_VERBOSE is of no effect, and git http proxy settings won't work. Only http_proxy environment variable will work.
You can try modifying git-clone and add --proxy-ntlm or --proxy-anyauth to curl calls, and set the http_proxy environment variable.
Alternatively, you can try again with (work in progress) builtin-clone.c. http://thread.gmane.org/gmane.comp.version-control.git/75070/focus=75126
Mike