Merge branch 'jk/list-objects-optim-wo-trees'
[git] / Documentation / config / uploadpack.txt
1 uploadpack.hideRefs::
2         This variable is the same as `transfer.hideRefs`, but applies
3         only to `upload-pack` (and so affects only fetches, not pushes).
4         An attempt to fetch a hidden ref by `git fetch` will fail.  See
5         also `uploadpack.allowTipSHA1InWant`.
6
7 uploadpack.allowTipSHA1InWant::
8         When `uploadpack.hideRefs` is in effect, allow `upload-pack`
9         to accept a fetch request that asks for an object at the tip
10         of a hidden ref (by default, such a request is rejected).
11         See also `uploadpack.hideRefs`.  Even if this is false, a client
12         may be able to steal objects via the techniques described in the
13         "SECURITY" section of the linkgit:gitnamespaces[7] man page; it's
14         best to keep private data in a separate repository.
15
16 uploadpack.allowReachableSHA1InWant::
17         Allow `upload-pack` to accept a fetch request that asks for an
18         object that is reachable from any ref tip. However, note that
19         calculating object reachability is computationally expensive.
20         Defaults to `false`.  Even if this is false, a client may be able
21         to steal objects via the techniques described in the "SECURITY"
22         section of the linkgit:gitnamespaces[7] man page; it's best to
23         keep private data in a separate repository.
24
25 uploadpack.allowAnySHA1InWant::
26         Allow `upload-pack` to accept a fetch request that asks for any
27         object at all.
28         Defaults to `false`.
29
30 uploadpack.keepAlive::
31         When `upload-pack` has started `pack-objects`, there may be a
32         quiet period while `pack-objects` prepares the pack. Normally
33         it would output progress information, but if `--quiet` was used
34         for the fetch, `pack-objects` will output nothing at all until
35         the pack data begins. Some clients and networks may consider
36         the server to be hung and give up. Setting this option instructs
37         `upload-pack` to send an empty keepalive packet every
38         `uploadpack.keepAlive` seconds. Setting this option to 0
39         disables keepalive packets entirely. The default is 5 seconds.
40
41 uploadpack.packObjectsHook::
42         If this option is set, when `upload-pack` would run
43         `git pack-objects` to create a packfile for a client, it will
44         run this shell command instead.  The `pack-objects` command and
45         arguments it _would_ have run (including the `git pack-objects`
46         at the beginning) are appended to the shell command. The stdin
47         and stdout of the hook are treated as if `pack-objects` itself
48         was run. I.e., `upload-pack` will feed input intended for
49         `pack-objects` to the hook, and expects a completed packfile on
50         stdout.
51 +
52 Note that this configuration variable is ignored if it is seen in the
53 repository-level config (this is a safety measure against fetching from
54 untrusted repositories).
55
56 uploadpack.allowFilter::
57         If this option is set, `upload-pack` will support partial
58         clone and partial fetch object filtering.
59
60 uploadpack.allowRefInWant::
61         If this option is set, `upload-pack` will support the `ref-in-want`
62         feature of the protocol version 2 `fetch` command.  This feature
63         is intended for the benefit of load-balanced servers which may
64         not have the same view of what OIDs their refs point to due to
65         replication delay.