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 | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) base-commit: 8858448bb49332d353febc078ce4a3abcc962efe Published-As: https://github.com/gitgitgadget/git/releases/tags/pr-69%2Ffcharlie%2Fmaster-v6 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-69/fcharlie/master-v6 Pull-Request: https://github.com/gitgitgadget/git/pull/69 Range-diff vs v5: 1: cdd93048ba ! 1: 93fda67198 http: add support selecting http version @@ -2,8 +2,38 @@ http: add support selecting http version + 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. + Signed-off-by: Force Charlie <charlieio@xxxxxxxxxxx> +diff --git a/Documentation/config.txt b/Documentation/config.txt +--- a/Documentation/config.txt ++++ b/Documentation/config.txt +@@ + If set, store cookies received during requests to the file specified by + http.cookieFile. Has no effect if http.cookieFile is unset. + ++http.version:: ++ Use the specified HTTP protocol version when communicating with a server. ++ If you want to force the default. The available and default version depend ++ on libcurl. Actually the possible values of ++ this option are: ++ ++ - HTTP/2 ++ - HTTP/1.1 ++ + http.sslVersion:: + The SSL version to use when negotiating an SSL connection, if you + want to force the default. The available and default version + diff --git a/http.c b/http.c --- a/http.c +++ b/http.c -- gitgitgadget