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 <charli...@outlook.com>
      
     +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

Reply via email to