Normally, git doesn't need to set curl to select the HTTP version, it works fine without HTTP2. Adding HTTP2 support is a icing on the cake. When http.version=20 is set, git will attempt to request the server using HTTP2. If the remote server does not support HTTP2, it is no different. Currently bitbucket supports HTTP2 and is available for testing. example: GIT_CURL_VERBOSE=1 git2 -c http.version=20 ls-remote https://bitbucket.org/aquariusjay/deeplab-public-ver2.git Force Charlie (3): http: add support selecting http version support force use http 1.1 fix curl version to support CURL_HTTP_VERSION_2TLS http.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) base-commit: 8858448bb49332d353febc078ce4a3abcc962efe Published-As: https://github.com/gitgitgadget/git/releases/tags/pr-69%2Ffcharlie%2Fmaster-v2 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-69/fcharlie/master-v2 Pull-Request: https://github.com/gitgitgadget/git/pull/69 Range-diff vs v1: 1: 4f5a935c43 = 1: 4f5a935c43 http: add support selecting http version -: ---------- > 2: 06e9685d2b support force use http 1.1 -: ---------- > 3: eee67d8356 fix curl version to support CURL_HTTP_VERSION_2TLS -- gitgitgadget