doc: move extensions.worktreeConfig to the right place
[git.git] / Documentation / config / protocol.txt
blobbfccc074913eda410ce5a5e9257889097141317a
1 protocol.allow::
2         If set, provide a user defined default policy for all protocols which
3         don't explicitly have a policy (`protocol.<name>.allow`).  By default,
4         if unset, known-safe protocols (http, https, git, ssh, file) have a
5         default policy of `always`, known-dangerous protocols (ext) have a
6         default policy of `never`, and all other protocols have a default
7         policy of `user`.  Supported policies:
9 --
11 * `always` - protocol is always able to be used.
13 * `never` - protocol is never able to be used.
15 * `user` - protocol is only able to be used when `GIT_PROTOCOL_FROM_USER` is
16   either unset or has a value of 1.  This policy should be used when you want a
17   protocol to be directly usable by the user but don't want it used by commands which
18   execute clone/fetch/push commands without user input, e.g. recursive
19   submodule initialization.
23 protocol.<name>.allow::
24         Set a policy to be used by protocol `<name>` with clone/fetch/push
25         commands. See `protocol.allow` above for the available policies.
27 The protocol names currently used by git are:
30   - `file`: any local file-based path (including `file://` URLs,
31     or local paths)
33   - `git`: the anonymous git protocol over a direct TCP
34     connection (or proxy, if configured)
36   - `ssh`: git over ssh (including `host:path` syntax,
37     `ssh://`, etc).
39   - `http`: git over http, both "smart http" and "dumb http".
40     Note that this does _not_ include `https`; if you want to configure
41     both, you must do so individually.
43   - any external helpers are named by their protocol (e.g., use
44     `hg` to allow the `git-remote-hg` helper)
47 protocol.version::
48         Experimental. If set, clients will attempt to communicate with a
49         server using the specified protocol version.  If unset, no
50         attempt will be made by the client to communicate using a
51         particular protocol version, this results in protocol version 0
52         being used.
53         Supported versions:
57 * `0` - the original wire protocol.
59 * `1` - the original wire protocol with the addition of a version string
60   in the initial response from the server.
62 * `2` - link:technical/protocol-v2.html[wire protocol version 2].