Usually we don't need to set libcurl to choose which version of the HTTP protocol to use to communicate with a server. But different versions of libcurl, the default value is not the same. CURL >= 7.62.0: CURL_HTTP_VERSION_2TLS CURL < 7.62: CURL_HTTP_VERSION_1_1 In order to give users the freedom to control the HTTP version, we need to add a setting to choose which HTTP version to use. This patch support force enable HTTP/2 or HTTP/1.1. example: GIT_CURL_VERBOSE=1 git2 -c http.version=HTTP/2 ls-remote https://bitbucket.org/aquariusjay/deeplab-public-ver2.git Force Charlie (1): http: add support selecting http version Documentation/config.txt | 9 +++++++++ http.c | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) base-commit: 8858448bb49332d353febc078ce4a3abcc962efe Published-As: https://github.com/gitgitgadget/git/releases/tags/pr-69%2Ffcharlie%2Fmaster-v8 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-69/fcharlie/master-v8 Pull-Request: https://github.com/gitgitgadget/git/pull/69 Range-diff vs v7: 1: e26fc0d8c7 ! 1: 71f8b71b34 http: add support selecting http version @@ -78,6 +78,7 @@ + } + } + ++ warning("unknown value given to http.version: '%s'", version_string); + return -1; /* not found */ +} + -- gitgitgadget