git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 52/59] config.txt: move transfer.* to a separate file

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Oct 20, 2018, 12:38 UTC
Message-ID
<20181020123848.2785-53-pclouds@gmail.com>
In-Reply-To
<20181020123848.2785-1-pclouds@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 Documentation/config.txt          | 72 +------------------------------
 Documentation/transfer-config.txt | 71 ++++++++++++++++++++++++++++++
 2 files changed, 72 insertions(+), 71 deletions(-)
 create mode 100644 Documentation/transfer-config.txt
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 4b1efe0a95..b70f98baba 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -670,77 +670,7 @@ include::submodule-config.txt[]
 
 include::tag-config.txt[]
 
-transfer.fsckObjects::
-	When `fetch.fsckObjects` or `receive.fsckObjects` are
-	not set, the value of this variable is used instead.
-	Defaults to false.
-+
-When set, the fetch or receive will abort in the case of a malformed
-object or a link to a nonexistent object. In addition, various other
-issues are checked for, including legacy issues (see `fsck.<msg-id>`),
-and potential security issues like the existence of a `.GIT` directory
-or a malicious `.gitmodules` file (see the release notes for v2.2.1
-and v2.17.1 for details). Other sanity and security checks may be
-added in future releases.
-+
-On the receiving side, failing fsckObjects will make those objects
-unreachable, see "QUARANTINE ENVIRONMENT" in
-linkgit:git-receive-pack[1]. On the fetch side, malformed objects will
-instead be left unreferenced in the repository.
-+
-Due to the non-quarantine nature of the `fetch.fsckObjects`
-implementation it can not be relied upon to leave the object store
-clean like `receive.fsckObjects` can.
-+
-As objects are unpacked they're written to the object store, so there
-can be cases where malicious objects get introduced even though the
-"fetch" failed, only to have a subsequent "fetch" succeed because only
-new incoming objects are checked, not those that have already been
-written to the object store. That difference in behavior should not be
-relied upon. In the future, such objects may be quarantined for
-"fetch" as well.
-+
-For now, the paranoid need to find some way to emulate the quarantine
-environment if they'd like the same protection as "push". E.g. in the
-case of an internal mirror do the mirroring in two steps, one to fetch
-the untrusted objects, and then do a second "push" (which will use the
-quarantine) to another internal repo, and have internal clients
-consume this pushed-to repository, or embargo internal fetches and
-only allow them once a full "fsck" has run (and no new fetches have
-happened in the meantime).
-
-transfer.hideRefs::
-	String(s) `receive-pack` and `upload-pack` use to decide which
-	refs to omit from their initial advertisements.  Use more than
-	one definition to specify multiple prefix strings. A ref that is
-	under the hierarchies listed in the value of this variable is
-	excluded, and is hidden when responding to `git push` or `git
-	fetch`.  See `receive.hideRefs` and `uploadpack.hideRefs` for
-	program-specific versions of this config.
-+
-You may also include a `!` in front of the ref name to negate the entry,
-explicitly exposing it, even if an earlier entry marked it as hidden.
-If you have multiple hideRefs values, later entries override earlier ones
-(and entries in more-specific config files override less-specific ones).
-+
-If a namespace is in use, the namespace prefix is stripped from each
-reference before it is matched against `transfer.hiderefs` patterns.
-For example, if `refs/heads/master` is specified in `transfer.hideRefs` and
-the current namespace is `foo`, then `refs/namespaces/foo/refs/heads/master`
-is omitted from the advertisements but `refs/heads/master` and
-`refs/namespaces/bar/refs/heads/master` are still advertised as so-called
-"have" lines. In order to match refs before stripping, add a `^` in front of
-the ref name. If you combine `!` and `^`, `!` must be specified first.
-+
-Even if you hide refs, a client may still be able to steal the target
-objects via the techniques described in the "SECURITY" section of the
-linkgit:gitnamespaces[7] man page; it's best to keep private data in a
-separate repository.
-
-transfer.unpackLimit::
-	When `fetch.unpackLimit` or `receive.unpackLimit` are
-	not set, the value of this variable is used instead.
-	The default value is 100.
+include::transfer-config.txt[]
 
 uploadarchive.allowUnreachable::
 	If true, allow clients to use `git archive --remote` to request
diff --git a/Documentation/transfer-config.txt b/Documentation/transfer-config.txt
new file mode 100644
index 0000000000..4a5dfe2fc1
--- /dev/null
+++ b/Documentation/transfer-config.txt
@@ -0,0 +1,71 @@
+transfer.fsckObjects::
+	When `fetch.fsckObjects` or `receive.fsckObjects` are
+	not set, the value of this variable is used instead.
+	Defaults to false.
++
+When set, the fetch or receive will abort in the case of a malformed
+object or a link to a nonexistent object. In addition, various other
+issues are checked for, including legacy issues (see `fsck.<msg-id>`),
+and potential security issues like the existence of a `.GIT` directory
+or a malicious `.gitmodules` file (see the release notes for v2.2.1
+and v2.17.1 for details). Other sanity and security checks may be
+added in future releases.
++
+On the receiving side, failing fsckObjects will make those objects
+unreachable, see "QUARANTINE ENVIRONMENT" in
+linkgit:git-receive-pack[1]. On the fetch side, malformed objects will
+instead be left unreferenced in the repository.
++
+Due to the non-quarantine nature of the `fetch.fsckObjects`
+implementation it can not be relied upon to leave the object store
+clean like `receive.fsckObjects` can.
++
+As objects are unpacked they're written to the object store, so there
+can be cases where malicious objects get introduced even though the
+"fetch" failed, only to have a subsequent "fetch" succeed because only
+new incoming objects are checked, not those that have already been
+written to the object store. That difference in behavior should not be
+relied upon. In the future, such objects may be quarantined for
+"fetch" as well.
++
+For now, the paranoid need to find some way to emulate the quarantine
+environment if they'd like the same protection as "push". E.g. in the
+case of an internal mirror do the mirroring in two steps, one to fetch
+the untrusted objects, and then do a second "push" (which will use the
+quarantine) to another internal repo, and have internal clients
+consume this pushed-to repository, or embargo internal fetches and
+only allow them once a full "fsck" has run (and no new fetches have
+happened in the meantime).
+
+transfer.hideRefs::
+	String(s) `receive-pack` and `upload-pack` use to decide which
+	refs to omit from their initial advertisements.  Use more than
+	one definition to specify multiple prefix strings. A ref that is
+	under the hierarchies listed in the value of this variable is
+	excluded, and is hidden when responding to `git push` or `git
+	fetch`.  See `receive.hideRefs` and `uploadpack.hideRefs` for
+	program-specific versions of this config.
++
+You may also include a `!` in front of the ref name to negate the entry,
+explicitly exposing it, even if an earlier entry marked it as hidden.
+If you have multiple hideRefs values, later entries override earlier ones
+(and entries in more-specific config files override less-specific ones).
++
+If a namespace is in use, the namespace prefix is stripped from each
+reference before it is matched against `transfer.hiderefs` patterns.
+For example, if `refs/heads/master` is specified in `transfer.hideRefs` and
+the current namespace is `foo`, then `refs/namespaces/foo/refs/heads/master`
+is omitted from the advertisements but `refs/heads/master` and
+`refs/namespaces/bar/refs/heads/master` are still advertised as so-called
+"have" lines. In order to match refs before stripping, add a `^` in front of
+the ref name. If you combine `!` and `^`, `!` must be specified first.
++
+Even if you hide refs, a client may still be able to steal the target
+objects via the techniques described in the "SECURITY" section of the
+linkgit:gitnamespaces[7] man page; it's best to keep private data in a
+separate repository.
+
+transfer.unpackLimit::
+	When `fetch.unpackLimit` or `receive.unpackLimit` are
+	not set, the value of this variable is used instead.
+	The default value is 100.
-- 
2.19.1.647.g708186aaf9
Previous: Nguyễn Thái Ngọc DuyNext: Nguyễn Thái Ngọc Duy
Message 54 of 67 in “Split config.txt”
  1. 00/59 Split config.txtNguyễn Thái Ngọc Duy, Oct 20, 2018
  2. 01/59 config.txt: move advice.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  3. 03/59 config.txt: move add.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  4. 04/59 config.txt: move alias.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  5. 05/59 config.txt: move am.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  6. 06/59 config.txt: move apply.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  7. 07/59 config.txt: move blame.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  8. 02/59 config.txt: move core.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  9. 08/59 config.txt: move branch.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  10. 10/59 config.txt: move checkout.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  11. 11/59 config.txt: move clean.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  12. 09/59 config.txt: move browser.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  13. 13/59 config.txt: move column.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  14. 14/59 config.txt: move commit.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  15. 12/59 config.txt: move color.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  16. 15/59 config.txt: move credential.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  17. 16/59 config.txt: move completion.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  18. 17/59 config.txt: move difftool.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  19. 18/59 config.txt: move fastimport.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  20. 19/59 config.txt: move filter.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  21. 20/59 config.txt: move fsck.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  22. 21/59 config.txt: move gc.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  23. 22/59 config.txt: move gitweb.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  24. 23/59 config.txt: move grep.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  25. 24/59 config.txt: move gpg.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  26. 25/59 config.txt: move guitool.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  27. 26/59 config.txt: move help.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  28. 27/59 config.txt: move ssh.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  29. 28/59 config.txt: move i18n.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  30. 29/59 config.txt: move i18n.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  31. Andrei RybakOct 21, 2018
  32. 30/59 config.txt: move init.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  33. 31/59 config.txt: move instaweb.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  34. 32/59 config.txt: move interactive.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  35. 33/59 config.txt: move log.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  36. 34/59 config.txt: move mailinfo.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  37. 36/59 config.txt: move man.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  38. 35/59 config.txt: move mailmap.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  39. 37/59 config.txt: move mergetool.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  40. 38/59 config.txt: move notes.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  41. 40/59 config.txt: move pager.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  42. 41/59 config.txt: move pretty.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  43. 39/59 config.txt: move pack.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  44. 42/59 config.txt: move protocol.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  45. 43/59 config.txt: move remote.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  46. 44/59 config.txt: move remotes.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  47. 45/59 config.txt: move repack.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  48. 46/59 config.txt: move rerere.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  49. 48/59 config.txt: move showBranch.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  50. 49/59 config.txt: move splitIndex.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  51. 47/59 config.txt: move sequencer.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  52. 51/59 config.txt: move tag.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  53. 50/59 config.txt: move status.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  54. 52/59 config.txt: move transfer.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  55. 53/59 config.txt: move uploadarchive.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  56. 55/59 config.txt: move url.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  57. 54/59 config.txt: move uploadpack.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  58. 56/59 config.txt: move user.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  59. 57/59 config.txt: move versionsort.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  60. 58/59 config.txt: move web.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  61. 59/59 config.txt: move worktree.* to a separate fileNguyễn Thái Ngọc Duy, Oct 20, 2018
  62. Ævar Arnfjörð BjarmasonOct 20, 2018
  63. Duy NguyenOct 20, 2018
  64. Ævar Arnfjörð BjarmasonOct 20, 2018
  65. Junio C HamanoOct 20, 2018
  66. Duy NguyenOct 22, 2018
  67. Stefan BellerOct 22, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.