Git clone with NTLM proxy freezes after resolving deltas

I saw a lot of questions covering git and proxy topics here, but none of them solves my problem. I am cloning a git repository from Bitbucket. Everything works fine from my home network, but it hangs at work, where we use proxies with NTLM authentication. See the output of the git clone command:

$ git clone https://my_user@bitbucket.org/my_user/my_project.git --verbose Cloning into 'my_project'... Password for 'https://my_user@bitbucket.org': POST git-upload-pack (174 bytes) remote: Counting objects: 548, done. remote: Compressing objects: 100% (367/367), done. remote: Total 548 (delta 216), reused 0 (delta 0) Receiving objects: 100% (548/548), 5.28 MiB | 533 KiB/s, done. Resolving deltas: 100% (216/216), done. 

git The clone command always hangs on "Delta Resolution".

My setup:

  • Windows 7 64-bit with msysgit 1.8.0
  • proxy configured:

     $git config --global http.proxy http://MY_DOMAIN\\\my_user:my_password@http-proxy:8080 

It seems that the problem is related to the size of the git object, because the git clone was used to work at the very beginning, when I had few files only in my repository.

+11
git clone ntlm
source share
6 answers

I got the same problem with Git 1.7.11. All my attempts to clone from GitHub cause the process to hang without files. I tried the verify-pack trick and many other suggestions on similar issues, but nothing verify-pack .

I thought it might have been improved or fixed in the latest version of Git, so I upgraded to 1.8.3. Bingo, now it works, I can clone!

+3
source share

Sorry, my english is very bad. Hope you can understand.

I have the same problem. I cannot find and fix the problem, but I was finally able to check. When the git clone hangs on "Delta Resolution", kill the git process. So, you have the my_project folder and the .git\objects\pack\pack-<sha1>.pack . Now we need to find the revision number. Enter the following command:

 git verify-pack -v .git\objects\pack\pack-<sha1>.pack | grep "commit" | more 

and the output looks something like this:

 98c9f779992fc9a52372e0a1a76647e5d9ca5e01 commit 340 227 12 b6435d98f7b62ce69c59ce582beddf547f26d8a2 commit 305 208 239 a2a39a0c707b2919c87b194dca9a0dea307ce069 commit 239 159 447 ... 4803e013b30dc9d31e4a8dba7e1a2d65e6f61422 commit 243 167 6768 -- More -- 

98c9f779992fc9a52372e0a1a76647e5d9ca5e01 at the top is a HEAD revision, so you can check to this point:

 git checkout -b master 98c9f779992fc9a52372e0a1a76647e5d9ca5e01 

Done.

+3
source share

I have the same problem, and although I can’t pinpoint the cause, I have what I think is a little better workaround than using a test package and checking the last commit, as explained by cakyus.

The problem with checking the last commit as the main branch is that you cannot guarantee that the commit belongs to this particular branch, so I did the following:

  • Abort git process freezing when resolving delta with Ctrl+C
  • Get affiliate information with git fetch
  • Checkout the main branch (or any other branch) using git checkout master

This led git to install my branch wizard to track the remote branch wizard and decompress files correctly, while also retaining branch information.

+2
source share

Not an answer, just contributing symptoms to narrow down the cause of this problem. I have the same problem. He just sits there "resolving the delta."

v1.7.10 Win2008 R2 Enterprise Proxy configured for HTTP and HTTP.

I will get a board to log into the server (.gitconfig is part of its roaming profile) and see if this is a configuration or installation.

0
source share

The solution that works for me from the comments on this blog http://stas-blogspot.blogspot.ca/2012/12/git-hangs-after-resolving-deltas.html :

Since the package files were loaded correctly, all you have to do is interrupt the process using Ctrl + C, do a git fetch to extract the branch information from the remote repository and check again the master (or any other) branch with the git validation wizard.

so the solution is to just kill the suspension process and then:

 git fetch git checkout 
0
source share

Two things (April 2019, seven years later):

  1. Do not declare the NTML proxy URL directly. Set the HTTPS_PROXY and HTTPS_PROXY environment variables to "HTTP Proxy" (not NTLM), for example, using genotrance/px .
    By running px (which redirects to your NTLM proxy), you can turn to the classic HTTP proxy (usually http: // localhost: 3128 , you don’t need your username / password!), And it will work better.

  2. If Delta Resolution still takes a lot of time, be sure to use Git 2.22 (Q2 2019)

On this second point: a progress indicator has been added to the " index-pack " step, which often causes users to wait for completion during the " git clone ".

See Commit 79e3aa6 (March 31, 2019) SZEDER Gábor ( szeder ) .
(Combined Junio ​​C Hamano - gitster - in da924b5 commit , April 25, 2019)

index-pack : show progress when checking objects

When " git index-pack " is run by " git clone ", its check_objects() usually does not take long enough to cause concern, but I just run into a situation where it took about a minute or so: I accidentally clone linux.git put some pressure on the memory of my tiny laptop, and then there was a rather long silence between the " Resolving deltas " and " Checking connectivity " execution bars.

Show a progress bar during the check_objects() loop to let the user know that something else is happening.

0
source share

All Articles