Skip to content

Commit ad30847

Browse files
pcloudsgitster
authored andcommitted
config.txt: move http.* to a separate file
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 12e6024 commit ad30847

File tree

2 files changed

+272
-271
lines changed

2 files changed

+272
-271
lines changed

Documentation/config.txt

Lines changed: 1 addition & 271 deletions
Original file line numberDiff line numberDiff line change
@@ -349,277 +349,7 @@ include::config/guitool.txt[]
349349

350350
include::config/help.txt[]
351351

352-
http.proxy::
353-
Override the HTTP proxy, normally configured using the 'http_proxy',
354-
'https_proxy', and 'all_proxy' environment variables (see `curl(1)`). In
355-
addition to the syntax understood by curl, it is possible to specify a
356-
proxy string with a user name but no password, in which case git will
357-
attempt to acquire one in the same way it does for other credentials. See
358-
linkgit:gitcredentials[7] for more information. The syntax thus is
359-
'[protocol://][user[:password]@]proxyhost[:port]'. This can be overridden
360-
on a per-remote basis; see remote.<name>.proxy
361-
362-
http.proxyAuthMethod::
363-
Set the method with which to authenticate against the HTTP proxy. This
364-
only takes effect if the configured proxy string contains a user name part
365-
(i.e. is of the form 'user@host' or 'user@host:port'). This can be
366-
overridden on a per-remote basis; see `remote.<name>.proxyAuthMethod`.
367-
Both can be overridden by the `GIT_HTTP_PROXY_AUTHMETHOD` environment
368-
variable. Possible values are:
369-
+
370-
--
371-
* `anyauth` - Automatically pick a suitable authentication method. It is
372-
assumed that the proxy answers an unauthenticated request with a 407
373-
status code and one or more Proxy-authenticate headers with supported
374-
authentication methods. This is the default.
375-
* `basic` - HTTP Basic authentication
376-
* `digest` - HTTP Digest authentication; this prevents the password from being
377-
transmitted to the proxy in clear text
378-
* `negotiate` - GSS-Negotiate authentication (compare the --negotiate option
379-
of `curl(1)`)
380-
* `ntlm` - NTLM authentication (compare the --ntlm option of `curl(1)`)
381-
--
382-
383-
http.emptyAuth::
384-
Attempt authentication without seeking a username or password. This
385-
can be used to attempt GSS-Negotiate authentication without specifying
386-
a username in the URL, as libcurl normally requires a username for
387-
authentication.
388-
389-
http.delegation::
390-
Control GSSAPI credential delegation. The delegation is disabled
391-
by default in libcurl since version 7.21.7. Set parameter to tell
392-
the server what it is allowed to delegate when it comes to user
393-
credentials. Used with GSS/kerberos. Possible values are:
394-
+
395-
--
396-
* `none` - Don't allow any delegation.
397-
* `policy` - Delegates if and only if the OK-AS-DELEGATE flag is set in the
398-
Kerberos service ticket, which is a matter of realm policy.
399-
* `always` - Unconditionally allow the server to delegate.
400-
--
401-
402-
403-
http.extraHeader::
404-
Pass an additional HTTP header when communicating with a server. If
405-
more than one such entry exists, all of them are added as extra
406-
headers. To allow overriding the settings inherited from the system
407-
config, an empty value will reset the extra headers to the empty list.
408-
409-
http.cookieFile::
410-
The pathname of a file containing previously stored cookie lines,
411-
which should be used
412-
in the Git http session, if they match the server. The file format
413-
of the file to read cookies from should be plain HTTP headers or
414-
the Netscape/Mozilla cookie file format (see `curl(1)`).
415-
NOTE that the file specified with http.cookieFile is used only as
416-
input unless http.saveCookies is set.
417-
418-
http.saveCookies::
419-
If set, store cookies received during requests to the file specified by
420-
http.cookieFile. Has no effect if http.cookieFile is unset.
421-
422-
http.sslVersion::
423-
The SSL version to use when negotiating an SSL connection, if you
424-
want to force the default. The available and default version
425-
depend on whether libcurl was built against NSS or OpenSSL and the
426-
particular configuration of the crypto library in use. Internally
427-
this sets the 'CURLOPT_SSL_VERSION' option; see the libcurl
428-
documentation for more details on the format of this option and
429-
for the ssl version supported. Actually the possible values of
430-
this option are:
431-
432-
- sslv2
433-
- sslv3
434-
- tlsv1
435-
- tlsv1.0
436-
- tlsv1.1
437-
- tlsv1.2
438-
- tlsv1.3
439-
440-
+
441-
Can be overridden by the `GIT_SSL_VERSION` environment variable.
442-
To force git to use libcurl's default ssl version and ignore any
443-
explicit http.sslversion option, set `GIT_SSL_VERSION` to the
444-
empty string.
445-
446-
http.sslCipherList::
447-
A list of SSL ciphers to use when negotiating an SSL connection.
448-
The available ciphers depend on whether libcurl was built against
449-
NSS or OpenSSL and the particular configuration of the crypto
450-
library in use. Internally this sets the 'CURLOPT_SSL_CIPHER_LIST'
451-
option; see the libcurl documentation for more details on the format
452-
of this list.
453-
+
454-
Can be overridden by the `GIT_SSL_CIPHER_LIST` environment variable.
455-
To force git to use libcurl's default cipher list and ignore any
456-
explicit http.sslCipherList option, set `GIT_SSL_CIPHER_LIST` to the
457-
empty string.
458-
459-
http.sslVerify::
460-
Whether to verify the SSL certificate when fetching or pushing
461-
over HTTPS. Defaults to true. Can be overridden by the
462-
`GIT_SSL_NO_VERIFY` environment variable.
463-
464-
http.sslCert::
465-
File containing the SSL certificate when fetching or pushing
466-
over HTTPS. Can be overridden by the `GIT_SSL_CERT` environment
467-
variable.
468-
469-
http.sslKey::
470-
File containing the SSL private key when fetching or pushing
471-
over HTTPS. Can be overridden by the `GIT_SSL_KEY` environment
472-
variable.
473-
474-
http.sslCertPasswordProtected::
475-
Enable Git's password prompt for the SSL certificate. Otherwise
476-
OpenSSL will prompt the user, possibly many times, if the
477-
certificate or private key is encrypted. Can be overridden by the
478-
`GIT_SSL_CERT_PASSWORD_PROTECTED` environment variable.
479-
480-
http.sslCAInfo::
481-
File containing the certificates to verify the peer with when
482-
fetching or pushing over HTTPS. Can be overridden by the
483-
`GIT_SSL_CAINFO` environment variable.
484-
485-
http.sslCAPath::
486-
Path containing files with the CA certificates to verify the peer
487-
with when fetching or pushing over HTTPS. Can be overridden
488-
by the `GIT_SSL_CAPATH` environment variable.
489-
490-
http.sslBackend::
491-
Name of the SSL backend to use (e.g. "openssl" or "schannel").
492-
This option is ignored if cURL lacks support for choosing the SSL
493-
backend at runtime.
494-
495-
http.schannelCheckRevoke::
496-
Used to enforce or disable certificate revocation checks in cURL
497-
when http.sslBackend is set to "schannel". Defaults to `true` if
498-
unset. Only necessary to disable this if Git consistently errors
499-
and the message is about checking the revocation status of a
500-
certificate. This option is ignored if cURL lacks support for
501-
setting the relevant SSL option at runtime.
502-
503-
http.schannelUseSSLCAInfo::
504-
As of cURL v7.60.0, the Secure Channel backend can use the
505-
certificate bundle provided via `http.sslCAInfo`, but that would
506-
override the Windows Certificate Store. Since this is not desirable
507-
by default, Git will tell cURL not to use that bundle by default
508-
when the `schannel` backend was configured via `http.sslBackend`,
509-
unless `http.schannelUseSSLCAInfo` overrides this behavior.
510-
511-
http.pinnedpubkey::
512-
Public key of the https service. It may either be the filename of
513-
a PEM or DER encoded public key file or a string starting with
514-
'sha256//' followed by the base64 encoded sha256 hash of the
515-
public key. See also libcurl 'CURLOPT_PINNEDPUBLICKEY'. git will
516-
exit with an error if this option is set but not supported by
517-
cURL.
518-
519-
http.sslTry::
520-
Attempt to use AUTH SSL/TLS and encrypted data transfers
521-
when connecting via regular FTP protocol. This might be needed
522-
if the FTP server requires it for security reasons or you wish
523-
to connect securely whenever remote FTP server supports it.
524-
Default is false since it might trigger certificate verification
525-
errors on misconfigured servers.
526-
527-
http.maxRequests::
528-
How many HTTP requests to launch in parallel. Can be overridden
529-
by the `GIT_HTTP_MAX_REQUESTS` environment variable. Default is 5.
530-
531-
http.minSessions::
532-
The number of curl sessions (counted across slots) to be kept across
533-
requests. They will not be ended with curl_easy_cleanup() until
534-
http_cleanup() is invoked. If USE_CURL_MULTI is not defined, this
535-
value will be capped at 1. Defaults to 1.
536-
537-
http.postBuffer::
538-
Maximum size in bytes of the buffer used by smart HTTP
539-
transports when POSTing data to the remote system.
540-
For requests larger than this buffer size, HTTP/1.1 and
541-
Transfer-Encoding: chunked is used to avoid creating a
542-
massive pack file locally. Default is 1 MiB, which is
543-
sufficient for most requests.
544-
545-
http.lowSpeedLimit, http.lowSpeedTime::
546-
If the HTTP transfer speed is less than 'http.lowSpeedLimit'
547-
for longer than 'http.lowSpeedTime' seconds, the transfer is aborted.
548-
Can be overridden by the `GIT_HTTP_LOW_SPEED_LIMIT` and
549-
`GIT_HTTP_LOW_SPEED_TIME` environment variables.
550-
551-
http.noEPSV::
552-
A boolean which disables using of EPSV ftp command by curl.
553-
This can helpful with some "poor" ftp servers which don't
554-
support EPSV mode. Can be overridden by the `GIT_CURL_FTP_NO_EPSV`
555-
environment variable. Default is false (curl will use EPSV).
556-
557-
http.userAgent::
558-
The HTTP USER_AGENT string presented to an HTTP server. The default
559-
value represents the version of the client Git such as git/1.7.1.
560-
This option allows you to override this value to a more common value
561-
such as Mozilla/4.0. This may be necessary, for instance, if
562-
connecting through a firewall that restricts HTTP connections to a set
563-
of common USER_AGENT strings (but not including those like git/1.7.1).
564-
Can be overridden by the `GIT_HTTP_USER_AGENT` environment variable.
565-
566-
http.followRedirects::
567-
Whether git should follow HTTP redirects. If set to `true`, git
568-
will transparently follow any redirect issued by a server it
569-
encounters. If set to `false`, git will treat all redirects as
570-
errors. If set to `initial`, git will follow redirects only for
571-
the initial request to a remote, but not for subsequent
572-
follow-up HTTP requests. Since git uses the redirected URL as
573-
the base for the follow-up requests, this is generally
574-
sufficient. The default is `initial`.
575-
576-
http.<url>.*::
577-
Any of the http.* options above can be applied selectively to some URLs.
578-
For a config key to match a URL, each element of the config key is
579-
compared to that of the URL, in the following order:
580-
+
581-
--
582-
. Scheme (e.g., `https` in `https://example.com/`). This field
583-
must match exactly between the config key and the URL.
584-
585-
. Host/domain name (e.g., `example.com` in `https://example.com/`).
586-
This field must match between the config key and the URL. It is
587-
possible to specify a `*` as part of the host name to match all subdomains
588-
at this level. `https://*.example.com/` for example would match
589-
`https://foo.example.com/`, but not `https://foo.bar.example.com/`.
590-
591-
. Port number (e.g., `8080` in `http://example.com:8080/`).
592-
This field must match exactly between the config key and the URL.
593-
Omitted port numbers are automatically converted to the correct
594-
default for the scheme before matching.
595-
596-
. Path (e.g., `repo.git` in `https://example.com/repo.git`). The
597-
path field of the config key must match the path field of the URL
598-
either exactly or as a prefix of slash-delimited path elements. This means
599-
a config key with path `foo/` matches URL path `foo/bar`. A prefix can only
600-
match on a slash (`/`) boundary. Longer matches take precedence (so a config
601-
key with path `foo/bar` is a better match to URL path `foo/bar` than a config
602-
key with just path `foo/`).
603-
604-
. User name (e.g., `user` in `https://user@example.com/repo.git`). If
605-
the config key has a user name it must match the user name in the
606-
URL exactly. If the config key does not have a user name, that
607-
config key will match a URL with any user name (including none),
608-
but at a lower precedence than a config key with a user name.
609-
--
610-
+
611-
The list above is ordered by decreasing precedence; a URL that matches
612-
a config key's path is preferred to one that matches its user name. For example,
613-
if the URL is `https://user@example.com/foo/bar` a config key match of
614-
`https://example.com/foo` will be preferred over a config key match of
615-
`https://user@example.com`.
616-
+
617-
All URLs are normalized before attempting any matching (the password part,
618-
if embedded in the URL, is always ignored for matching purposes) so that
619-
equivalent URLs that are simply spelled differently will match properly.
620-
Environment variable settings always override any matches. The URLs that are
621-
matched against are those given directly to Git commands. This means any URLs
622-
visited as a result of a redirection do not participate in matching.
352+
include::config/http.txt[]
623353

624354
i18n.commitEncoding::
625355
Character encoding the commit messages are stored in; Git itself

0 commit comments

Comments
 (0)