top | item 43385877

(no title)

schacon | 11 months ago

You can see basically what part of the communication is by running `git ls-remote` and see how big it is.

discuss

order

jakub_g|11 months ago

Indeed, `git ls-remote` produces 14MB output; interestingly, 12MB of it are `refs/pull/<n>/head` as it lists all PRs (including closed ones), and the repo has had ~200,000 PRs already.

It seems like large GitHub repos get an ever-growing penalty for GitHub exposing `refs/pull/...` refs then, which is not great.

I will do some further digging and perhaps reach out to GitHub support. That's been very helpful, thanks Scott!

kvemkon|11 months ago

Have you switched already to the "new" git protocol version 2? [1]

> An immediate benefit of the new protocol is that it enables reference filtering on the server-side, this can reduce the number of bytes required to fulfill operations like git fetch on large repositories.

[1] https://github.blog/changelog/2018-11-08-git-protocol-v2-sup...