| protocol.allow:: |
| If set, provide a user defined default policy for all protocols which |
| don't explicitly have a policy (`protocol.<name>.allow`). By default, |
| if unset, known-safe protocols (http, https, git, ssh, file) have a |
| default policy of `always`, known-dangerous protocols (ext) have a |
| default policy of `never`, and all other protocols have a default |
| policy of `user`. Supported policies: |
| + |
| -- |
| |
| * `always` - protocol is always able to be used. |
| |
| * `never` - protocol is never able to be used. |
| |
| * `user` - protocol is only able to be used when `GIT_PROTOCOL_FROM_USER` is |
| either unset or has a value of 1. This policy should be used when you want a |
| protocol to be directly usable by the user but don't want it used by commands which |
| execute clone/fetch/push commands without user input, e.g. recursive |
| submodule initialization. |
| |
| -- |
| |
| protocol.<name>.allow:: |
| Set a policy to be used by protocol `<name>` with clone/fetch/push |
| commands. See `protocol.allow` above for the available policies. |
| + |
| The protocol names currently used by git are: |
| + |
| -- |
| - `file`: any local file-based path (including `file://` URLs, |
| or local paths) |
| |
| - `git`: the anonymous git protocol over a direct TCP |
| connection (or proxy, if configured) |
| |
| - `ssh`: git over ssh (including `host:path` syntax, |
| `ssh://`, etc). |
| |
| - `http`: git over http, both "smart http" and "dumb http". |
| Note that this does _not_ include `https`; if you want to configure |
| both, you must do so individually. |
| |
| - any external helpers are named by their protocol (e.g., use |
| `hg` to allow the `git-remote-hg` helper) |
| -- |
| |
| protocol.version:: |
| If set, clients will attempt to communicate with a server |
| using the specified protocol version. If the server does |
| not support it, communication falls back to version 0. |
| If unset, the default is `0`. |
| Supported versions: |
| + |
| -- |
| |
| * `0` - the original wire protocol. |
| |
| * `1` - the original wire protocol with the addition of a version string |
| in the initial response from the server. |
| |
| * `2` - link:technical/protocol-v2.html[wire protocol version 2]. |
| |
| -- |