Git push hangs in macOS
Asked by Marco Burato:

Last Friday, when I tried to push my changes to Bitbucket from SourceTree, it would hang after

```
POST git-receive-pack (144321 bytes)
```

I assumed it was a temporary server issue.

Today I tried again, several times, and it always hangs.

Then, I tried to push something from SourceTree on Windows and that worked. So, this seems to be a problem specific to macOS.

I have tried the following, without success:

* Rebasing changes
* Pushing smaller changes
* Logging out and logging in again in SourceTree
* Switching SourceTree from Embedded GIT to System GIT
* Pushing from CLI

After enabling CLI tracing with

```
GIT_CURL_VERBOSE=1 GIT_TRACE=1 git push -v
```

it looks like it's hanging waiting for a response from the server:

```
Enumerating objects: 84, done.
Counting objects: 100% (84/84), done.
Delta compression using up to 16 threads
Compressing objects: 100% (58/58), done.
Writing objects: 100% (59/59), 140.75 KiB | 17.59 MiB/s, done.
Total 59 (delta 42), reused 0 (delta 0), pack-reused 0
POST git-receive-pack (144321 bytes)
17:27:20.685974 http.c:699 == Info: Found bundle for host: 0x6000015c8000 [can multiplex]
17:27:20.685994 http.c:699 == Info: Re-using existing connection #0 with host bitbucket.org
17:27:20.686006 http.c:699 == Info: Server auth using Basic with user 'REDACTED'
17:27:20.686025 http.c:699 == Info: h2 [:method: POST]
17:27:20.686029 http.c:699 == Info: h2 [:scheme: https]
17:27:20.686031 http.c:699 == Info: h2 [:authority: bitbucket.org]
17:27:20.686033 http.c:699 == Info: h2 [:path: /REDACTED/app.git/git-receive-pack]
17:27:20.686036 http.c:699 == Info: h2 [authorization: Basic REDACTED]
17:27:20.686039 http.c:699 == Info: h2 [user-agent: git/2.39.3 (Apple Git-146)]
17:27:20.686041 http.c:699 == Info: h2 [accept-encoding: deflate, gzip]
17:27:20.686043 http.c:699 == Info: h2 [content-type: application/x-git-receive-pack-request]
17:27:20.686046 http.c:699 == Info: h2 [accept: application/x-git-receive-pack-result]
17:27:20.686048 http.c:699 == Info: h2 [content-length: 144321]
17:27:20.686053 http.c:699 == Info: Using Stream ID: 7 (easy handle 0x7fae62008200)
17:27:20.686152 http.c:646 => Send header, 0000000513 bytes (0x00000201)
17:27:20.686158 http.c:658 => Send header: POST /REDACTED/app.git/git-receive-pack HTTP/2
17:27:20.686161 http.c:658 => Send header: Host: bitbucket.org
17:27:20.686163 http.c:658 => Send header: Authorization: Basic <redacted>
17:27:20.686164 http.c:658 => Send header: User-Agent: git/2.39.3 (Apple Git-146)
17:27:20.686166 http.c:658 => Send header: Accept-Encoding: deflate, gzip
17:27:20.686168 http.c:658 => Send header: Content-Type: application/x-git-receive-pack-request
17:27:20.686170 http.c:658 => Send header: Accept: application/x-git-receive-pack-result
17:27:20.686173 http.c:658 => Send header: Content-Length: 144321
17:27:20.686175 http.c:658 => Send header:
17:27:20.686512 http.c:699 == Info: We are completely uploaded and fine
```

So, this appears to be a server issue, possibly when using a macOS client.

Please advise.


Answers:
author: Marco Burato
body: I was able to overcome this by forcing the use of HTTP 1.1:

```
git config --global http.version HTTP/1.1
```

Looks like there's some compatibility issue between the client and the server with HTTP 2.


Tags: bitbucket

bitbucket-cloud

cloud