@@ -421,77 +421,7 @@ include::config/submodule.txt[]
421421
422422include::config/tag.txt[]
423423
424- transfer.fsckObjects::
425- When `fetch.fsckObjects` or `receive.fsckObjects` are
426- not set, the value of this variable is used instead.
427- Defaults to false.
428- +
429- When set, the fetch or receive will abort in the case of a malformed
430- object or a link to a nonexistent object. In addition, various other
431- issues are checked for, including legacy issues (see `fsck.<msg-id>`),
432- and potential security issues like the existence of a `.GIT` directory
433- or a malicious `.gitmodules` file (see the release notes for v2.2.1
434- and v2.17.1 for details). Other sanity and security checks may be
435- added in future releases.
436- +
437- On the receiving side, failing fsckObjects will make those objects
438- unreachable, see "QUARANTINE ENVIRONMENT" in
439- linkgit:git-receive-pack[1]. On the fetch side, malformed objects will
440- instead be left unreferenced in the repository.
441- +
442- Due to the non-quarantine nature of the `fetch.fsckObjects`
443- implementation it can not be relied upon to leave the object store
444- clean like `receive.fsckObjects` can.
445- +
446- As objects are unpacked they're written to the object store, so there
447- can be cases where malicious objects get introduced even though the
448- "fetch" failed, only to have a subsequent "fetch" succeed because only
449- new incoming objects are checked, not those that have already been
450- written to the object store. That difference in behavior should not be
451- relied upon. In the future, such objects may be quarantined for
452- "fetch" as well.
453- +
454- For now, the paranoid need to find some way to emulate the quarantine
455- environment if they'd like the same protection as "push". E.g. in the
456- case of an internal mirror do the mirroring in two steps, one to fetch
457- the untrusted objects, and then do a second "push" (which will use the
458- quarantine) to another internal repo, and have internal clients
459- consume this pushed-to repository, or embargo internal fetches and
460- only allow them once a full "fsck" has run (and no new fetches have
461- happened in the meantime).
462-
463- transfer.hideRefs::
464- String(s) `receive-pack` and `upload-pack` use to decide which
465- refs to omit from their initial advertisements. Use more than
466- one definition to specify multiple prefix strings. A ref that is
467- under the hierarchies listed in the value of this variable is
468- excluded, and is hidden when responding to `git push` or `git
469- fetch`. See `receive.hideRefs` and `uploadpack.hideRefs` for
470- program-specific versions of this config.
471- +
472- You may also include a `!` in front of the ref name to negate the entry,
473- explicitly exposing it, even if an earlier entry marked it as hidden.
474- If you have multiple hideRefs values, later entries override earlier ones
475- (and entries in more-specific config files override less-specific ones).
476- +
477- If a namespace is in use, the namespace prefix is stripped from each
478- reference before it is matched against `transfer.hiderefs` patterns.
479- For example, if `refs/heads/master` is specified in `transfer.hideRefs` and
480- the current namespace is `foo`, then `refs/namespaces/foo/refs/heads/master`
481- is omitted from the advertisements but `refs/heads/master` and
482- `refs/namespaces/bar/refs/heads/master` are still advertised as so-called
483- "have" lines. In order to match refs before stripping, add a `^` in front of
484- the ref name. If you combine `!` and `^`, `!` must be specified first.
485- +
486- Even if you hide refs, a client may still be able to steal the target
487- objects via the techniques described in the "SECURITY" section of the
488- linkgit:gitnamespaces[7] man page; it's best to keep private data in a
489- separate repository.
490-
491- transfer.unpackLimit::
492- When `fetch.unpackLimit` or `receive.unpackLimit` are
493- not set, the value of this variable is used instead.
494- The default value is 100.
424+ include::config/transfer.txt[]
495425
496426uploadarchive.allowUnreachable::
497427 If true, allow clients to use `git archive --remote` to request
0 commit comments