{"thread":{"id":"49696","subject":"[PATCH 00/78] nd/config-split reroll","startedAt":"2018-10-27T06:24:00Z","lastAt":"2018-10-29T01:28:31Z","messageCount":80,"participants":["Nguyễn Thái Ngọc Duy","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":78},"messages":[{"id":"361666","messageId":"20181027062351.30446-1-pclouds@gmail.com","threadId":"49696","inReplyTo":null,"subject":"[PATCH 00/78] nd/config-split reroll","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:33Z","receivedAt":"2018-10-27T06:24:00Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Compared to the version on 'pu', this one moves all the config files\nto Documentation/config/ directory. imap.* is also added back in\nconfig.txt (curently only documented in git-imap-send.txt)\n\nThis one is built on top of bp/reset-quiet and js/mingw-http-ssl to\navoid non-trivial conflicts.\n\nI notice that there are duplicated config documentation in git-*.txt.\nBut given the size of this series, I think people will agree that can\nbe done separately later.\n\nNguyễn Thái Ngọc Duy (78):\n  Update makefile in preparation for Documentation/config/*.txt\n  config.txt: move advice.* to a separate file\n  config.txt: move core.* to a separate file\n  config.txt: move add.* to a separate file\n  config.txt: move alias.* to a separate file\n  config.txt: move am.* to a separate file\n  config.txt: move apply.* to a separate file\n  config.txt: move blame.* to a separate file\n  config.txt: move branch.* to a separate file\n  config.txt: move browser.* to a separate file\n  config.txt: move checkout.* to a separate file\n  config.txt: move clean.* to a separate file\n  config.txt: move color.* to a separate file\n  config.txt: move column.* to a separate file\n  config.txt: move commit.* to a separate file\n  config.txt: move credential.* to a separate file\n  config.txt: move completion.* to a separate file\n  config.txt: move diff-config.txt to config/\n  config.txt: move difftool.* to a separate file\n  config.txt: move fastimport.* to a separate file\n  config.txt: move fetch-config.txt to config/\n  config.txt: move filter.* to a separate file\n  config.txt: move format-config.txt to config/\n  config.txt: move fmt-merge-msg-config.txt to config/\n  config.txt: move fsck.* to a separate file\n  config.txt: move gc.* to a separate file\n  config.txt: move gitcvs-config.txt to config/\n  config.txt: move gitweb.* to a separate file\n  config.txt: move grep.* to a separate file\n  config.txt: move gpg.* to a separate file\n  config.txt: move gui-config.txt to config/\n  config.txt: move guitool.* to a separate file\n  config.txt: move help.* to a separate file\n  config.txt: move ssh.* to a separate file\n  config.txt: move http.* to a separate file\n  config.txt: move i18n.* to a separate file\n  git-imap-send.txt: move imap.* to a separate file\n  config.txt: move index.* to a separate file\n  config.txt: move init.* to a separate file\n  config.txt: move instaweb.* to a separate file\n  config.txt: move interactive.* to a separate file\n  config.txt: move log.* to a separate file\n  config.txt: move mailinfo.* to a separate file\n  config.txt: move mailmap.* to a separate file\n  config.txt: move man.* to a separate file\n  config.txt: move merge-config.txt to config/\n  config.txt: move mergetool.* to a separate file\n  config.txt: move notes.* to a separate file\n  config.txt: move pack.* to a separate file\n  config.txt: move pager.* to a separate file\n  config.txt: move pretty.* to a separate file\n  config.txt: move protocol.* to a separate file\n  config.txt: move pull-config.txt to config/\n  config.txt: move push-config.txt to config/\n  config.txt: move rebase-config.txt to config/\n  config.txt: move receive-config.txt to config/\n  config.txt: move remote.* to a separate file\n  config.txt: move remotes.* to a separate file\n  config.txt: move repack.* to a separate file\n  config.txt: move rerere.* to a separate file\n  config.txt: move reset.* to a separate file\n  config.txt: move sendemail-config.txt to config/\n  config.txt: move sequencer.* to a separate file\n  config.txt: move showBranch.* to a separate file\n  config.txt: move splitIndex.* to a separate file\n  config.txt: move status.* to a separate file\n  config.txt: move stash.* to a separate file\n  config.txt: move submodule.* to a separate file\n  config.txt: move tag.* to a separate file\n  config.txt: move transfer.* to a separate file\n  config.txt: move uploadarchive.* to a separate file\n  config.txt: move uploadpack.* to a separate file\n  config.txt: move url.* to a separate file\n  config.txt: move user.* to a separate file\n  config.txt: move versionsort.* to a separate file\n  config.txt: move web.* to a separate file\n  config.txt: move worktree.* to a separate file\n  config.txt: remove config/dummy.txt\n\n Documentation/Makefile                        |    2 +-\n Documentation/config.txt                      | 2957 +----------------\n Documentation/config/add.txt                  |    7 +\n Documentation/config/advice.txt               |   86 +\n Documentation/config/alias.txt                |   18 +\n Documentation/config/am.txt                   |   14 +\n Documentation/config/apply.txt                |   11 +\n Documentation/config/blame.txt                |   21 +\n Documentation/config/branch.txt               |  102 +\n Documentation/config/browser.txt              |    9 +\n Documentation/config/checkout.txt             |   23 +\n Documentation/config/clean.txt                |    3 +\n Documentation/config/color.txt                |  201 ++\n Documentation/config/column.txt               |   55 +\n Documentation/config/commit.txt               |   29 +\n Documentation/config/completion.txt           |    7 +\n Documentation/config/core.txt                 |  594 ++++\n Documentation/config/credential.txt           |   26 +\n .../{diff-config.txt => config/diff.txt}      |    2 +-\n Documentation/config/difftool.txt             |   14 +\n Documentation/config/fastimport.txt           |    8 +\n .../{fetch-config.txt => config/fetch.txt}    |    0\n Documentation/config/filter.txt               |    9 +\n .../fmt-merge-msg.txt}                        |    0\n .../{format-config.txt => config/format.txt}  |    0\n Documentation/config/fsck.txt                 |   67 +\n Documentation/config/gc.txt                   |  108 +\n .../{gitcvs-config.txt => config/gitcvs.txt}  |    0\n Documentation/config/gitweb.txt               |   16 +\n Documentation/config/gpg.txt                  |   20 +\n Documentation/config/grep.txt                 |   24 +\n .../{gui-config.txt => config/gui.txt}        |    0\n Documentation/config/guitool.txt              |   50 +\n Documentation/config/help.txt                 |   23 +\n Documentation/config/http.txt                 |  271 ++\n Documentation/config/i18n.txt                 |   10 +\n Documentation/config/imap.txt                 |   44 +\n Documentation/config/index.txt                |   10 +\n Documentation/config/init.txt                 |    3 +\n Documentation/config/instaweb.txt             |   20 +\n Documentation/config/interactive.txt          |   16 +\n Documentation/config/log.txt                  |   43 +\n Documentation/config/mailinfo.txt             |    6 +\n Documentation/config/mailmap.txt              |   15 +\n Documentation/config/man.txt                  |   12 +\n .../{merge-config.txt => config/merge.txt}    |    4 +-\n Documentation/config/mergetool.txt            |   53 +\n Documentation/config/notes.txt                |   59 +\n Documentation/config/pack.txt                 |  120 +\n Documentation/config/pager.txt                |    8 +\n Documentation/config/pretty.txt               |    9 +\n Documentation/config/protocol.txt             |   64 +\n .../{pull-config.txt => config/pull.txt}      |    0\n .../{push-config.txt => config/push.txt}      |    0\n .../{rebase-config.txt => config/rebase.txt}  |    0\n .../receive.txt}                              |    0\n Documentation/config/remote.txt               |   78 +\n Documentation/config/remotes.txt              |    3 +\n Documentation/config/repack.txt               |   27 +\n Documentation/config/rerere.txt               |   12 +\n Documentation/config/reset.txt                |    2 +\n .../sendemail.txt}                            |    0\n Documentation/config/sequencer.txt            |    5 +\n Documentation/config/showbranch.txt           |    3 +\n Documentation/config/splitindex.txt           |   24 +\n Documentation/config/ssh.txt                  |   35 +\n Documentation/config/stash.txt                |    9 +\n Documentation/config/status.txt               |   72 +\n .../submodule.txt}                            |    0\n Documentation/config/tag.txt                  |   16 +\n Documentation/config/transfer.txt             |   71 +\n Documentation/config/uploadarchive.txt        |    6 +\n Documentation/config/uploadpack.txt           |   65 +\n Documentation/config/url.txt                  |   30 +\n Documentation/config/user.txt                 |   26 +\n Documentation/config/versionsort.txt          |   33 +\n Documentation/config/web.txt                  |    4 +\n Documentation/config/worktree.txt             |    9 +\n Documentation/git-fmt-merge-msg.txt           |    2 +-\n Documentation/git-imap-send.txt               |   45 +-\n Documentation/git-merge.txt                   |    2 +-\n Documentation/git-rebase.txt                  |    2 +-\n Makefile                                      |    2 +-\n generate-cmdlist.sh                           |    2 +-\n 84 files changed, 2959 insertions(+), 2899 deletions(-)\n create mode 100644 Documentation/config/add.txt\n create mode 100644 Documentation/config/advice.txt\n create mode 100644 Documentation/config/alias.txt\n create mode 100644 Documentation/config/am.txt\n create mode 100644 Documentation/config/apply.txt\n create mode 100644 Documentation/config/blame.txt\n create mode 100644 Documentation/config/branch.txt\n create mode 100644 Documentation/config/browser.txt\n create mode 100644 Documentation/config/checkout.txt\n create mode 100644 Documentation/config/clean.txt\n create mode 100644 Documentation/config/color.txt\n create mode 100644 Documentation/config/column.txt\n create mode 100644 Documentation/config/commit.txt\n create mode 100644 Documentation/config/completion.txt\n create mode 100644 Documentation/config/core.txt\n create mode 100644 Documentation/config/credential.txt\n rename Documentation/{diff-config.txt => config/diff.txt} (99%)\n create mode 100644 Documentation/config/difftool.txt\n create mode 100644 Documentation/config/fastimport.txt\n rename Documentation/{fetch-config.txt => config/fetch.txt} (100%)\n create mode 100644 Documentation/config/filter.txt\n rename Documentation/{fmt-merge-msg-config.txt => config/fmt-merge-msg.txt} (100%)\n rename Documentation/{format-config.txt => config/format.txt} (100%)\n create mode 100644 Documentation/config/fsck.txt\n create mode 100644 Documentation/config/gc.txt\n rename Documentation/{gitcvs-config.txt => config/gitcvs.txt} (100%)\n create mode 100644 Documentation/config/gitweb.txt\n create mode 100644 Documentation/config/gpg.txt\n create mode 100644 Documentation/config/grep.txt\n rename Documentation/{gui-config.txt => config/gui.txt} (100%)\n create mode 100644 Documentation/config/guitool.txt\n create mode 100644 Documentation/config/help.txt\n create mode 100644 Documentation/config/http.txt\n create mode 100644 Documentation/config/i18n.txt\n create mode 100644 Documentation/config/imap.txt\n create mode 100644 Documentation/config/index.txt\n create mode 100644 Documentation/config/init.txt\n create mode 100644 Documentation/config/instaweb.txt\n create mode 100644 Documentation/config/interactive.txt\n create mode 100644 Documentation/config/log.txt\n create mode 100644 Documentation/config/mailinfo.txt\n create mode 100644 Documentation/config/mailmap.txt\n create mode 100644 Documentation/config/man.txt\n rename Documentation/{merge-config.txt => config/merge.txt} (98%)\n create mode 100644 Documentation/config/mergetool.txt\n create mode 100644 Documentation/config/notes.txt\n create mode 100644 Documentation/config/pack.txt\n create mode 100644 Documentation/config/pager.txt\n create mode 100644 Documentation/config/pretty.txt\n create mode 100644 Documentation/config/protocol.txt\n rename Documentation/{pull-config.txt => config/pull.txt} (100%)\n rename Documentation/{push-config.txt => config/push.txt} (100%)\n rename Documentation/{rebase-config.txt => config/rebase.txt} (100%)\n rename Documentation/{receive-config.txt => config/receive.txt} (100%)\n create mode 100644 Documentation/config/remote.txt\n create mode 100644 Documentation/config/remotes.txt\n create mode 100644 Documentation/config/repack.txt\n create mode 100644 Documentation/config/rerere.txt\n create mode 100644 Documentation/config/reset.txt\n rename Documentation/{sendemail-config.txt => config/sendemail.txt} (100%)\n create mode 100644 Documentation/config/sequencer.txt\n create mode 100644 Documentation/config/showbranch.txt\n create mode 100644 Documentation/config/splitindex.txt\n create mode 100644 Documentation/config/ssh.txt\n create mode 100644 Documentation/config/stash.txt\n create mode 100644 Documentation/config/status.txt\n rename Documentation/{submodule-config.txt => config/submodule.txt} (100%)\n create mode 100644 Documentation/config/tag.txt\n create mode 100644 Documentation/config/transfer.txt\n create mode 100644 Documentation/config/uploadarchive.txt\n create mode 100644 Documentation/config/uploadpack.txt\n create mode 100644 Documentation/config/url.txt\n create mode 100644 Documentation/config/user.txt\n create mode 100644 Documentation/config/versionsort.txt\n create mode 100644 Documentation/config/web.txt\n create mode 100644 Documentation/config/worktree.txt\n\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361667","messageId":"20181027062351.30446-2-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 01/78] Update makefile in preparation for Documentation/config/*.txt","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:34Z","receivedAt":"2018-10-27T06:24:01Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"config.txt is going to be broken down in smaller pieces and put under\nDocumentation/config directory. Update build rules to take these files\ninto account.\n\nA dummy file is added to make sure wildcard expansion is predictable\n(depending on shell setting it could expand to nothing or becomes a\npath if config directory is empty). The file will be deleted once the\nmove is over.\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/Makefile         | 2 +-\n Documentation/config/dummy.txt | 0\n Makefile                       | 2 +-\n generate-cmdlist.sh            | 2 +-\n 4 files changed, 3 insertions(+), 3 deletions(-)\n create mode 100644 Documentation/config/dummy.txt\n\ndiff --git a/Documentation/Makefile b/Documentation/Makefile\nindex 95f6a321f2..48d261dc2c 100644\n--- a/Documentation/Makefile\n+++ b/Documentation/Makefile\n@@ -285,7 +285,7 @@ docdep_prereqs = \\\n \tmergetools-list.made $(mergetools_txt) \\\n \tcmd-list.made $(cmds_txt)\n \n-doc.dep : $(docdep_prereqs) $(wildcard *.txt) build-docdep.perl\n+doc.dep : $(docdep_prereqs) $(wildcard *.txt) $(wildcard config/*.txt) build-docdep.perl\n \t$(QUIET_GEN)$(RM) $@+ $@ && \\\n \t$(PERL_PATH) ./build-docdep.perl >$@+ $(QUIET_STDERR) && \\\n \tmv $@+ $@\ndiff --git a/Documentation/config/dummy.txt b/Documentation/config/dummy.txt\nnew file mode 100644\nindex 0000000000..e69de29bb2\ndiff --git a/Makefile b/Makefile\nindex b08d5ea258..e2ca83203f 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -2068,7 +2068,7 @@ $(BUILT_INS): git$X\n \n command-list.h: generate-cmdlist.sh command-list.txt\n \n-command-list.h: $(wildcard Documentation/git*.txt) Documentation/*config.txt\n+command-list.h: $(wildcard Documentation/git*.txt) Documentation/*config.txt Documentation/config/*.txt\n \t$(QUIET_GEN)$(SHELL_PATH) ./generate-cmdlist.sh command-list.txt >$@+ && mv $@+ $@\n \n SCRIPT_DEFINES = $(SHELL_PATH_SQ):$(DIFF_SQ):$(GIT_VERSION):\\\ndiff --git a/generate-cmdlist.sh b/generate-cmdlist.sh\nindex fa1e5475e8..709d67405b 100755\n--- a/generate-cmdlist.sh\n+++ b/generate-cmdlist.sh\n@@ -80,7 +80,7 @@ print_config_list () {\n \tcat <<EOF\n static const char *config_name_list[] = {\n EOF\n-\tgrep -h '^[a-zA-Z].*\\..*::$' Documentation/*config.txt |\n+\tgrep -h '^[a-zA-Z].*\\..*::$' Documentation/*config.txt Documentation/config/*.txt |\n \tsed '/deprecated/d; s/::$//; s/,  */\\n/g' |\n \tsort |\n \twhile read line\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361669","messageId":"20181027062351.30446-3-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 02/78] config.txt: move advice.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:35Z","receivedAt":"2018-10-27T06:24:03Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt        | 88 +--------------------------------\n Documentation/config/advice.txt | 86 ++++++++++++++++++++++++++++++++\n 2 files changed, 87 insertions(+), 87 deletions(-)\n create mode 100644 Documentation/config/advice.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex ff2d0190f6..4d2e21b534 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -287,93 +287,7 @@ inventing new variables for use in your own tool, make sure their\n names do not conflict with those that are used by Git itself and\n other popular tools, and describe them in your documentation.\n \n-\n-advice.*::\n-\tThese variables control various optional help messages designed to\n-\taid new users. All 'advice.*' variables default to 'true', and you\n-\tcan tell Git that you do not need help by setting these to 'false':\n-+\n---\n-\tpushUpdateRejected::\n-\t\tSet this variable to 'false' if you want to disable\n-\t\t'pushNonFFCurrent',\n-\t\t'pushNonFFMatching', 'pushAlreadyExists',\n-\t\t'pushFetchFirst', and 'pushNeedsForce'\n-\t\tsimultaneously.\n-\tpushNonFFCurrent::\n-\t\tAdvice shown when linkgit:git-push[1] fails due to a\n-\t\tnon-fast-forward update to the current branch.\n-\tpushNonFFMatching::\n-\t\tAdvice shown when you ran linkgit:git-push[1] and pushed\n-\t\t'matching refs' explicitly (i.e. you used ':', or\n-\t\tspecified a refspec that isn't your current branch) and\n-\t\tit resulted in a non-fast-forward error.\n-\tpushAlreadyExists::\n-\t\tShown when linkgit:git-push[1] rejects an update that\n-\t\tdoes not qualify for fast-forwarding (e.g., a tag.)\n-\tpushFetchFirst::\n-\t\tShown when linkgit:git-push[1] rejects an update that\n-\t\ttries to overwrite a remote ref that points at an\n-\t\tobject we do not have.\n-\tpushNeedsForce::\n-\t\tShown when linkgit:git-push[1] rejects an update that\n-\t\ttries to overwrite a remote ref that points at an\n-\t\tobject that is not a commit-ish, or make the remote\n-\t\tref point at an object that is not a commit-ish.\n-\tstatusHints::\n-\t\tShow directions on how to proceed from the current\n-\t\tstate in the output of linkgit:git-status[1], in\n-\t\tthe template shown when writing commit messages in\n-\t\tlinkgit:git-commit[1], and in the help message shown\n-\t\tby linkgit:git-checkout[1] when switching branch.\n-\tstatusUoption::\n-\t\tAdvise to consider using the `-u` option to linkgit:git-status[1]\n-\t\twhen the command takes more than 2 seconds to enumerate untracked\n-\t\tfiles.\n-\tcommitBeforeMerge::\n-\t\tAdvice shown when linkgit:git-merge[1] refuses to\n-\t\tmerge to avoid overwriting local changes.\n-\tresetQuiet::\n-\t\tAdvice to consider using the `--quiet` option to linkgit:git-reset[1]\n-\t\twhen the command takes more than 2 seconds to enumerate unstaged\n-\t\tchanges after reset.\n-\tresolveConflict::\n-\t\tAdvice shown by various commands when conflicts\n-\t\tprevent the operation from being performed.\n-\timplicitIdentity::\n-\t\tAdvice on how to set your identity configuration when\n-\t\tyour information is guessed from the system username and\n-\t\tdomain name.\n-\tdetachedHead::\n-\t\tAdvice shown when you used linkgit:git-checkout[1] to\n-\t\tmove to the detach HEAD state, to instruct how to create\n-\t\ta local branch after the fact.\n-\tcheckoutAmbiguousRemoteBranchName::\n-\t\tAdvice shown when the argument to\n-\t\tlinkgit:git-checkout[1] ambiguously resolves to a\n-\t\tremote tracking branch on more than one remote in\n-\t\tsituations where an unambiguous argument would have\n-\t\totherwise caused a remote-tracking branch to be\n-\t\tchecked out. See the `checkout.defaultRemote`\n-\t\tconfiguration variable for how to set a given remote\n-\t\tto used by default in some situations where this\n-\t\tadvice would be printed.\n-\tamWorkDir::\n-\t\tAdvice that shows the location of the patch file when\n-\t\tlinkgit:git-am[1] fails to apply it.\n-\trmHints::\n-\t\tIn case of failure in the output of linkgit:git-rm[1],\n-\t\tshow directions on how to proceed from the current state.\n-\taddEmbeddedRepo::\n-\t\tAdvice on what to do when you've accidentally added one\n-\t\tgit repo inside of another.\n-\tignoredHook::\n-\t\tAdvice shown if a hook is ignored because the hook is not\n-\t\tset as executable.\n-\twaitingForEditor::\n-\t\tPrint a message to the terminal whenever Git is waiting for\n-\t\teditor input from the user.\n---\n+include::config/advice.txt[]\n \n core.fileMode::\n \tTells Git if the executable bit of files in the working tree\ndiff --git a/Documentation/config/advice.txt b/Documentation/config/advice.txt\nnew file mode 100644\nindex 0000000000..57fcd4c862\n--- /dev/null\n+++ b/Documentation/config/advice.txt\n@@ -0,0 +1,86 @@\n+advice.*::\n+\tThese variables control various optional help messages designed to\n+\taid new users. All 'advice.*' variables default to 'true', and you\n+\tcan tell Git that you do not need help by setting these to 'false':\n++\n+--\n+\tpushUpdateRejected::\n+\t\tSet this variable to 'false' if you want to disable\n+\t\t'pushNonFFCurrent',\n+\t\t'pushNonFFMatching', 'pushAlreadyExists',\n+\t\t'pushFetchFirst', and 'pushNeedsForce'\n+\t\tsimultaneously.\n+\tpushNonFFCurrent::\n+\t\tAdvice shown when linkgit:git-push[1] fails due to a\n+\t\tnon-fast-forward update to the current branch.\n+\tpushNonFFMatching::\n+\t\tAdvice shown when you ran linkgit:git-push[1] and pushed\n+\t\t'matching refs' explicitly (i.e. you used ':', or\n+\t\tspecified a refspec that isn't your current branch) and\n+\t\tit resulted in a non-fast-forward error.\n+\tpushAlreadyExists::\n+\t\tShown when linkgit:git-push[1] rejects an update that\n+\t\tdoes not qualify for fast-forwarding (e.g., a tag.)\n+\tpushFetchFirst::\n+\t\tShown when linkgit:git-push[1] rejects an update that\n+\t\ttries to overwrite a remote ref that points at an\n+\t\tobject we do not have.\n+\tpushNeedsForce::\n+\t\tShown when linkgit:git-push[1] rejects an update that\n+\t\ttries to overwrite a remote ref that points at an\n+\t\tobject that is not a commit-ish, or make the remote\n+\t\tref point at an object that is not a commit-ish.\n+\tstatusHints::\n+\t\tShow directions on how to proceed from the current\n+\t\tstate in the output of linkgit:git-status[1], in\n+\t\tthe template shown when writing commit messages in\n+\t\tlinkgit:git-commit[1], and in the help message shown\n+\t\tby linkgit:git-checkout[1] when switching branch.\n+\tstatusUoption::\n+\t\tAdvise to consider using the `-u` option to linkgit:git-status[1]\n+\t\twhen the command takes more than 2 seconds to enumerate untracked\n+\t\tfiles.\n+\tcommitBeforeMerge::\n+\t\tAdvice shown when linkgit:git-merge[1] refuses to\n+\t\tmerge to avoid overwriting local changes.\n+\tresetQuiet::\n+\t\tAdvice to consider using the `--quiet` option to linkgit:git-reset[1]\n+\t\twhen the command takes more than 2 seconds to enumerate unstaged\n+\t\tchanges after reset.\n+\tresolveConflict::\n+\t\tAdvice shown by various commands when conflicts\n+\t\tprevent the operation from being performed.\n+\timplicitIdentity::\n+\t\tAdvice on how to set your identity configuration when\n+\t\tyour information is guessed from the system username and\n+\t\tdomain name.\n+\tdetachedHead::\n+\t\tAdvice shown when you used linkgit:git-checkout[1] to\n+\t\tmove to the detach HEAD state, to instruct how to create\n+\t\ta local branch after the fact.\n+\tcheckoutAmbiguousRemoteBranchName::\n+\t\tAdvice shown when the argument to\n+\t\tlinkgit:git-checkout[1] ambiguously resolves to a\n+\t\tremote tracking branch on more than one remote in\n+\t\tsituations where an unambiguous argument would have\n+\t\totherwise caused a remote-tracking branch to be\n+\t\tchecked out. See the `checkout.defaultRemote`\n+\t\tconfiguration variable for how to set a given remote\n+\t\tto used by default in some situations where this\n+\t\tadvice would be printed.\n+\tamWorkDir::\n+\t\tAdvice that shows the location of the patch file when\n+\t\tlinkgit:git-am[1] fails to apply it.\n+\trmHints::\n+\t\tIn case of failure in the output of linkgit:git-rm[1],\n+\t\tshow directions on how to proceed from the current state.\n+\taddEmbeddedRepo::\n+\t\tAdvice on what to do when you've accidentally added one\n+\t\tgit repo inside of another.\n+\tignoredHook::\n+\t\tAdvice shown if a hook is ignored because the hook is not\n+\t\tset as executable.\n+\twaitingForEditor::\n+\t\tPrint a message to the terminal whenever Git is waiting for\n+\t\teditor input from the user.\n+--\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361668","messageId":"20181027062351.30446-5-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 04/78] config.txt: move add.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:37Z","receivedAt":"2018-10-27T06:24:04Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt     | 8 +-------\n Documentation/config/add.txt | 7 +++++++\n 2 files changed, 8 insertions(+), 7 deletions(-)\n create mode 100644 Documentation/config/add.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 2ba70144c7..77e45e5219 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -291,13 +291,7 @@ include::config/advice.txt[]\n \n include::config/core.txt[]\n \n-add.ignoreErrors::\n-add.ignore-errors (deprecated)::\n-\tTells 'git add' to continue adding files when some files cannot be\n-\tadded due to indexing errors. Equivalent to the `--ignore-errors`\n-\toption of linkgit:git-add[1].  `add.ignore-errors` is deprecated,\n-\tas it does not follow the usual naming convention for configuration\n-\tvariables.\n+include::config/add.txt[]\n \n alias.*::\n \tCommand aliases for the linkgit:git[1] command wrapper - e.g.\ndiff --git a/Documentation/config/add.txt b/Documentation/config/add.txt\nnew file mode 100644\nindex 0000000000..4d753f006e\n--- /dev/null\n+++ b/Documentation/config/add.txt\n@@ -0,0 +1,7 @@\n+add.ignoreErrors::\n+add.ignore-errors (deprecated)::\n+\tTells 'git add' to continue adding files when some files cannot be\n+\tadded due to indexing errors. Equivalent to the `--ignore-errors`\n+\toption of linkgit:git-add[1].  `add.ignore-errors` is deprecated,\n+\tas it does not follow the usual naming convention for configuration\n+\tvariables.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361670","messageId":"20181027062351.30446-6-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 05/78] config.txt: move alias.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:38Z","receivedAt":"2018-10-27T06:24:05Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt       | 19 +------------------\n Documentation/config/alias.txt | 18 ++++++++++++++++++\n 2 files changed, 19 insertions(+), 18 deletions(-)\n create mode 100644 Documentation/config/alias.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 77e45e5219..f207cae90c 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -293,24 +293,7 @@ include::config/core.txt[]\n \n include::config/add.txt[]\n \n-alias.*::\n-\tCommand aliases for the linkgit:git[1] command wrapper - e.g.\n-\tafter defining \"alias.last = cat-file commit HEAD\", the invocation\n-\t\"git last\" is equivalent to \"git cat-file commit HEAD\". To avoid\n-\tconfusion and troubles with script usage, aliases that\n-\thide existing Git commands are ignored. Arguments are split by\n-\tspaces, the usual shell quoting and escaping is supported.\n-\tA quote pair or a backslash can be used to quote them.\n-+\n-If the alias expansion is prefixed with an exclamation point,\n-it will be treated as a shell command.  For example, defining\n-\"alias.new = !gitk --all --not ORIG_HEAD\", the invocation\n-\"git new\" is equivalent to running the shell command\n-\"gitk --all --not ORIG_HEAD\".  Note that shell commands will be\n-executed from the top-level directory of a repository, which may\n-not necessarily be the current directory.\n-`GIT_PREFIX` is set as returned by running 'git rev-parse --show-prefix'\n-from the original current directory. See linkgit:git-rev-parse[1].\n+include::config/alias.txt[]\n \n am.keepcr::\n \tIf true, git-am will call git-mailsplit for patches in mbox format\ndiff --git a/Documentation/config/alias.txt b/Documentation/config/alias.txt\nnew file mode 100644\nindex 0000000000..0b14178314\n--- /dev/null\n+++ b/Documentation/config/alias.txt\n@@ -0,0 +1,18 @@\n+alias.*::\n+\tCommand aliases for the linkgit:git[1] command wrapper - e.g.\n+\tafter defining \"alias.last = cat-file commit HEAD\", the invocation\n+\t\"git last\" is equivalent to \"git cat-file commit HEAD\". To avoid\n+\tconfusion and troubles with script usage, aliases that\n+\thide existing Git commands are ignored. Arguments are split by\n+\tspaces, the usual shell quoting and escaping is supported.\n+\tA quote pair or a backslash can be used to quote them.\n++\n+If the alias expansion is prefixed with an exclamation point,\n+it will be treated as a shell command.  For example, defining\n+\"alias.new = !gitk --all --not ORIG_HEAD\", the invocation\n+\"git new\" is equivalent to running the shell command\n+\"gitk --all --not ORIG_HEAD\".  Note that shell commands will be\n+executed from the top-level directory of a repository, which may\n+not necessarily be the current directory.\n+`GIT_PREFIX` is set as returned by running 'git rev-parse --show-prefix'\n+from the original current directory. See linkgit:git-rev-parse[1].\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361671","messageId":"20181027062351.30446-4-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 03/78] config.txt: move core.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:36Z","receivedAt":"2018-10-27T06:24:06Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt      | 595 +---------------------------------\n Documentation/config/core.txt | 594 +++++++++++++++++++++++++++++++++\n 2 files changed, 595 insertions(+), 594 deletions(-)\n create mode 100644 Documentation/config/core.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 4d2e21b534..2ba70144c7 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -289,600 +289,7 @@ other popular tools, and describe them in your documentation.\n \n include::config/advice.txt[]\n \n-core.fileMode::\n-\tTells Git if the executable bit of files in the working tree\n-\tis to be honored.\n-+\n-Some filesystems lose the executable bit when a file that is\n-marked as executable is checked out, or checks out a\n-non-executable file with executable bit on.\n-linkgit:git-clone[1] or linkgit:git-init[1] probe the filesystem\n-to see if it handles the executable bit correctly\n-and this variable is automatically set as necessary.\n-+\n-A repository, however, may be on a filesystem that handles\n-the filemode correctly, and this variable is set to 'true'\n-when created, but later may be made accessible from another\n-environment that loses the filemode (e.g. exporting ext4 via\n-CIFS mount, visiting a Cygwin created repository with\n-Git for Windows or Eclipse).\n-In such a case it may be necessary to set this variable to 'false'.\n-See linkgit:git-update-index[1].\n-+\n-The default is true (when core.filemode is not specified in the config file).\n-\n-core.hideDotFiles::\n-\t(Windows-only) If true, mark newly-created directories and files whose\n-\tname starts with a dot as hidden.  If 'dotGitOnly', only the `.git/`\n-\tdirectory is hidden, but no other files starting with a dot.  The\n-\tdefault mode is 'dotGitOnly'.\n-\n-core.ignoreCase::\n-\tInternal variable which enables various workarounds to enable\n-\tGit to work better on filesystems that are not case sensitive,\n-\tlike APFS, HFS+, FAT, NTFS, etc. For example, if a directory listing\n-\tfinds \"makefile\" when Git expects \"Makefile\", Git will assume\n-\tit is really the same file, and continue to remember it as\n-\t\"Makefile\".\n-+\n-The default is false, except linkgit:git-clone[1] or linkgit:git-init[1]\n-will probe and set core.ignoreCase true if appropriate when the repository\n-is created.\n-+\n-Git relies on the proper configuration of this variable for your operating\n-and file system. Modifying this value may result in unexpected behavior.\n-\n-core.precomposeUnicode::\n-\tThis option is only used by Mac OS implementation of Git.\n-\tWhen core.precomposeUnicode=true, Git reverts the unicode decomposition\n-\tof filenames done by Mac OS. This is useful when sharing a repository\n-\tbetween Mac OS and Linux or Windows.\n-\t(Git for Windows 1.7.10 or higher is needed, or Git under cygwin 1.7).\n-\tWhen false, file names are handled fully transparent by Git,\n-\twhich is backward compatible with older versions of Git.\n-\n-core.protectHFS::\n-\tIf set to true, do not allow checkout of paths that would\n-\tbe considered equivalent to `.git` on an HFS+ filesystem.\n-\tDefaults to `true` on Mac OS, and `false` elsewhere.\n-\n-core.protectNTFS::\n-\tIf set to true, do not allow checkout of paths that would\n-\tcause problems with the NTFS filesystem, e.g. conflict with\n-\t8.3 \"short\" names.\n-\tDefaults to `true` on Windows, and `false` elsewhere.\n-\n-core.fsmonitor::\n-\tIf set, the value of this variable is used as a command which\n-\twill identify all files that may have changed since the\n-\trequested date/time. This information is used to speed up git by\n-\tavoiding unnecessary processing of files that have not changed.\n-\tSee the \"fsmonitor-watchman\" section of linkgit:githooks[5].\n-\n-core.trustctime::\n-\tIf false, the ctime differences between the index and the\n-\tworking tree are ignored; useful when the inode change time\n-\tis regularly modified by something outside Git (file system\n-\tcrawlers and some backup systems).\n-\tSee linkgit:git-update-index[1]. True by default.\n-\n-core.splitIndex::\n-\tIf true, the split-index feature of the index will be used.\n-\tSee linkgit:git-update-index[1]. False by default.\n-\n-core.untrackedCache::\n-\tDetermines what to do about the untracked cache feature of the\n-\tindex. It will be kept, if this variable is unset or set to\n-\t`keep`. It will automatically be added if set to `true`. And\n-\tit will automatically be removed, if set to `false`. Before\n-\tsetting it to `true`, you should check that mtime is working\n-\tproperly on your system.\n-\tSee linkgit:git-update-index[1]. `keep` by default.\n-\n-core.checkStat::\n-\tWhen missing or is set to `default`, many fields in the stat\n-\tstructure are checked to detect if a file has been modified\n-\tsince Git looked at it.  When this configuration variable is\n-\tset to `minimal`, sub-second part of mtime and ctime, the\n-\tuid and gid of the owner of the file, the inode number (and\n-\tthe device number, if Git was compiled to use it), are\n-\texcluded from the check among these fields, leaving only the\n-\twhole-second part of mtime (and ctime, if `core.trustCtime`\n-\tis set) and the filesize to be checked.\n-+\n-There are implementations of Git that do not leave usable values in\n-some fields (e.g. JGit); by excluding these fields from the\n-comparison, the `minimal` mode may help interoperability when the\n-same repository is used by these other systems at the same time.\n-\n-core.quotePath::\n-\tCommands that output paths (e.g. 'ls-files', 'diff'), will\n-\tquote \"unusual\" characters in the pathname by enclosing the\n-\tpathname in double-quotes and escaping those characters with\n-\tbackslashes in the same way C escapes control characters (e.g.\n-\t`\\t` for TAB, `\\n` for LF, `\\\\` for backslash) or bytes with\n-\tvalues larger than 0x80 (e.g. octal `\\302\\265` for \"micro\" in\n-\tUTF-8).  If this variable is set to false, bytes higher than\n-\t0x80 are not considered \"unusual\" any more. Double-quotes,\n-\tbackslash and control characters are always escaped regardless\n-\tof the setting of this variable.  A simple space character is\n-\tnot considered \"unusual\".  Many commands can output pathnames\n-\tcompletely verbatim using the `-z` option. The default value\n-\tis true.\n-\n-core.eol::\n-\tSets the line ending type to use in the working directory for\n-\tfiles that have the `text` property set when core.autocrlf is false.\n-\tAlternatives are 'lf', 'crlf' and 'native', which uses the platform's\n-\tnative line ending.  The default value is `native`.  See\n-\tlinkgit:gitattributes[5] for more information on end-of-line\n-\tconversion.\n-\n-core.safecrlf::\n-\tIf true, makes Git check if converting `CRLF` is reversible when\n-\tend-of-line conversion is active.  Git will verify if a command\n-\tmodifies a file in the work tree either directly or indirectly.\n-\tFor example, committing a file followed by checking out the\n-\tsame file should yield the original file in the work tree.  If\n-\tthis is not the case for the current setting of\n-\t`core.autocrlf`, Git will reject the file.  The variable can\n-\tbe set to \"warn\", in which case Git will only warn about an\n-\tirreversible conversion but continue the operation.\n-+\n-CRLF conversion bears a slight chance of corrupting data.\n-When it is enabled, Git will convert CRLF to LF during commit and LF to\n-CRLF during checkout.  A file that contains a mixture of LF and\n-CRLF before the commit cannot be recreated by Git.  For text\n-files this is the right thing to do: it corrects line endings\n-such that we have only LF line endings in the repository.\n-But for binary files that are accidentally classified as text the\n-conversion can corrupt data.\n-+\n-If you recognize such corruption early you can easily fix it by\n-setting the conversion type explicitly in .gitattributes.  Right\n-after committing you still have the original file in your work\n-tree and this file is not yet corrupted.  You can explicitly tell\n-Git that this file is binary and Git will handle the file\n-appropriately.\n-+\n-Unfortunately, the desired effect of cleaning up text files with\n-mixed line endings and the undesired effect of corrupting binary\n-files cannot be distinguished.  In both cases CRLFs are removed\n-in an irreversible way.  For text files this is the right thing\n-to do because CRLFs are line endings, while for binary files\n-converting CRLFs corrupts data.\n-+\n-Note, this safety check does not mean that a checkout will generate a\n-file identical to the original file for a different setting of\n-`core.eol` and `core.autocrlf`, but only for the current one.  For\n-example, a text file with `LF` would be accepted with `core.eol=lf`\n-and could later be checked out with `core.eol=crlf`, in which case the\n-resulting file would contain `CRLF`, although the original file\n-contained `LF`.  However, in both work trees the line endings would be\n-consistent, that is either all `LF` or all `CRLF`, but never mixed.  A\n-file with mixed line endings would be reported by the `core.safecrlf`\n-mechanism.\n-\n-core.autocrlf::\n-\tSetting this variable to \"true\" is the same as setting\n-\tthe `text` attribute to \"auto\" on all files and core.eol to \"crlf\".\n-\tSet to true if you want to have `CRLF` line endings in your\n-\tworking directory and the repository has LF line endings.\n-\tThis variable can be set to 'input',\n-\tin which case no output conversion is performed.\n-\n-core.checkRoundtripEncoding::\n-\tA comma and/or whitespace separated list of encodings that Git\n-\tperforms UTF-8 round trip checks on if they are used in an\n-\t`working-tree-encoding` attribute (see linkgit:gitattributes[5]).\n-\tThe default value is `SHIFT-JIS`.\n-\n-core.symlinks::\n-\tIf false, symbolic links are checked out as small plain files that\n-\tcontain the link text. linkgit:git-update-index[1] and\n-\tlinkgit:git-add[1] will not change the recorded type to regular\n-\tfile. Useful on filesystems like FAT that do not support\n-\tsymbolic links.\n-+\n-The default is true, except linkgit:git-clone[1] or linkgit:git-init[1]\n-will probe and set core.symlinks false if appropriate when the repository\n-is created.\n-\n-core.gitProxy::\n-\tA \"proxy command\" to execute (as 'command host port') instead\n-\tof establishing direct connection to the remote server when\n-\tusing the Git protocol for fetching. If the variable value is\n-\tin the \"COMMAND for DOMAIN\" format, the command is applied only\n-\ton hostnames ending with the specified domain string. This variable\n-\tmay be set multiple times and is matched in the given order;\n-\tthe first match wins.\n-+\n-Can be overridden by the `GIT_PROXY_COMMAND` environment variable\n-(which always applies universally, without the special \"for\"\n-handling).\n-+\n-The special string `none` can be used as the proxy command to\n-specify that no proxy be used for a given domain pattern.\n-This is useful for excluding servers inside a firewall from\n-proxy use, while defaulting to a common proxy for external domains.\n-\n-core.sshCommand::\n-\tIf this variable is set, `git fetch` and `git push` will\n-\tuse the specified command instead of `ssh` when they need to\n-\tconnect to a remote system. The command is in the same form as\n-\tthe `GIT_SSH_COMMAND` environment variable and is overridden\n-\twhen the environment variable is set.\n-\n-core.ignoreStat::\n-\tIf true, Git will avoid using lstat() calls to detect if files have\n-\tchanged by setting the \"assume-unchanged\" bit for those tracked files\n-\twhich it has updated identically in both the index and working tree.\n-+\n-When files are modified outside of Git, the user will need to stage\n-the modified files explicitly (e.g. see 'Examples' section in\n-linkgit:git-update-index[1]).\n-Git will not normally detect changes to those files.\n-+\n-This is useful on systems where lstat() calls are very slow, such as\n-CIFS/Microsoft Windows.\n-+\n-False by default.\n-\n-core.preferSymlinkRefs::\n-\tInstead of the default \"symref\" format for HEAD\n-\tand other symbolic reference files, use symbolic links.\n-\tThis is sometimes needed to work with old scripts that\n-\texpect HEAD to be a symbolic link.\n-\n-core.alternateRefsCommand::\n-\tWhen advertising tips of available history from an alternate, use the shell to\n-\texecute the specified command instead of linkgit:git-for-each-ref[1]. The\n-\tfirst argument is the absolute path of the alternate. Output must contain one\n-\thex object id per line (i.e., the same as produce by `git for-each-ref\n-\t--format='%(objectname)'`).\n-+\n-Note that you cannot generally put `git for-each-ref` directly into the config\n-value, as it does not take a repository path as an argument (but you can wrap\n-the command above in a shell script).\n-\n-core.alternateRefsPrefixes::\n-\tWhen listing references from an alternate, list only references that begin\n-\twith the given prefix. Prefixes match as if they were given as arguments to\n-\tlinkgit:git-for-each-ref[1]. To list multiple prefixes, separate them with\n-\twhitespace. If `core.alternateRefsCommand` is set, setting\n-\t`core.alternateRefsPrefixes` has no effect.\n-\n-core.bare::\n-\tIf true this repository is assumed to be 'bare' and has no\n-\tworking directory associated with it.  If this is the case a\n-\tnumber of commands that require a working directory will be\n-\tdisabled, such as linkgit:git-add[1] or linkgit:git-merge[1].\n-+\n-This setting is automatically guessed by linkgit:git-clone[1] or\n-linkgit:git-init[1] when the repository was created.  By default a\n-repository that ends in \"/.git\" is assumed to be not bare (bare =\n-false), while all other repositories are assumed to be bare (bare\n-= true).\n-\n-core.worktree::\n-\tSet the path to the root of the working tree.\n-\tIf `GIT_COMMON_DIR` environment variable is set, core.worktree\n-\tis ignored and not used for determining the root of working tree.\n-\tThis can be overridden by the `GIT_WORK_TREE` environment\n-\tvariable and the `--work-tree` command-line option.\n-\tThe value can be an absolute path or relative to the path to\n-\tthe .git directory, which is either specified by --git-dir\n-\tor GIT_DIR, or automatically discovered.\n-\tIf --git-dir or GIT_DIR is specified but none of\n-\t--work-tree, GIT_WORK_TREE and core.worktree is specified,\n-\tthe current working directory is regarded as the top level\n-\tof your working tree.\n-+\n-Note that this variable is honored even when set in a configuration\n-file in a \".git\" subdirectory of a directory and its value differs\n-from the latter directory (e.g. \"/path/to/.git/config\" has\n-core.worktree set to \"/different/path\"), which is most likely a\n-misconfiguration.  Running Git commands in the \"/path/to\" directory will\n-still use \"/different/path\" as the root of the work tree and can cause\n-confusion unless you know what you are doing (e.g. you are creating a\n-read-only snapshot of the same index to a location different from the\n-repository's usual working tree).\n-\n-core.logAllRefUpdates::\n-\tEnable the reflog. Updates to a ref <ref> is logged to the file\n-\t\"`$GIT_DIR/logs/<ref>`\", by appending the new and old\n-\tSHA-1, the date/time and the reason of the update, but\n-\tonly when the file exists.  If this configuration\n-\tvariable is set to `true`, missing \"`$GIT_DIR/logs/<ref>`\"\n-\tfile is automatically created for branch heads (i.e. under\n-\t`refs/heads/`), remote refs (i.e. under `refs/remotes/`),\n-\tnote refs (i.e. under `refs/notes/`), and the symbolic ref `HEAD`.\n-\tIf it is set to `always`, then a missing reflog is automatically\n-\tcreated for any ref under `refs/`.\n-+\n-This information can be used to determine what commit\n-was the tip of a branch \"2 days ago\".\n-+\n-This value is true by default in a repository that has\n-a working directory associated with it, and false by\n-default in a bare repository.\n-\n-core.repositoryFormatVersion::\n-\tInternal variable identifying the repository format and layout\n-\tversion.\n-\n-core.sharedRepository::\n-\tWhen 'group' (or 'true'), the repository is made shareable between\n-\tseveral users in a group (making sure all the files and objects are\n-\tgroup-writable). When 'all' (or 'world' or 'everybody'), the\n-\trepository will be readable by all users, additionally to being\n-\tgroup-shareable. When 'umask' (or 'false'), Git will use permissions\n-\treported by umask(2). When '0xxx', where '0xxx' is an octal number,\n-\tfiles in the repository will have this mode value. '0xxx' will override\n-\tuser's umask value (whereas the other options will only override\n-\trequested parts of the user's umask value). Examples: '0660' will make\n-\tthe repo read/write-able for the owner and group, but inaccessible to\n-\tothers (equivalent to 'group' unless umask is e.g. '0022'). '0640' is a\n-\trepository that is group-readable but not group-writable.\n-\tSee linkgit:git-init[1]. False by default.\n-\n-core.warnAmbiguousRefs::\n-\tIf true, Git will warn you if the ref name you passed it is ambiguous\n-\tand might match multiple refs in the repository. True by default.\n-\n-core.compression::\n-\tAn integer -1..9, indicating a default compression level.\n-\t-1 is the zlib default. 0 means no compression,\n-\tand 1..9 are various speed/size tradeoffs, 9 being slowest.\n-\tIf set, this provides a default to other compression variables,\n-\tsuch as `core.looseCompression` and `pack.compression`.\n-\n-core.looseCompression::\n-\tAn integer -1..9, indicating the compression level for objects that\n-\tare not in a pack file. -1 is the zlib default. 0 means no\n-\tcompression, and 1..9 are various speed/size tradeoffs, 9 being\n-\tslowest.  If not set,  defaults to core.compression.  If that is\n-\tnot set,  defaults to 1 (best speed).\n-\n-core.packedGitWindowSize::\n-\tNumber of bytes of a pack file to map into memory in a\n-\tsingle mapping operation.  Larger window sizes may allow\n-\tyour system to process a smaller number of large pack files\n-\tmore quickly.  Smaller window sizes will negatively affect\n-\tperformance due to increased calls to the operating system's\n-\tmemory manager, but may improve performance when accessing\n-\ta large number of large pack files.\n-+\n-Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32\n-MiB on 32 bit platforms and 1 GiB on 64 bit platforms.  This should\n-be reasonable for all users/operating systems.  You probably do\n-not need to adjust this value.\n-+\n-Common unit suffixes of 'k', 'm', or 'g' are supported.\n-\n-core.packedGitLimit::\n-\tMaximum number of bytes to map simultaneously into memory\n-\tfrom pack files.  If Git needs to access more than this many\n-\tbytes at once to complete an operation it will unmap existing\n-\tregions to reclaim virtual address space within the process.\n-+\n-Default is 256 MiB on 32 bit platforms and 32 TiB (effectively\n-unlimited) on 64 bit platforms.\n-This should be reasonable for all users/operating systems, except on\n-the largest projects.  You probably do not need to adjust this value.\n-+\n-Common unit suffixes of 'k', 'm', or 'g' are supported.\n-\n-core.deltaBaseCacheLimit::\n-\tMaximum number of bytes to reserve for caching base objects\n-\tthat may be referenced by multiple deltified objects.  By storing the\n-\tentire decompressed base objects in a cache Git is able\n-\tto avoid unpacking and decompressing frequently used base\n-\tobjects multiple times.\n-+\n-Default is 96 MiB on all platforms.  This should be reasonable\n-for all users/operating systems, except on the largest projects.\n-You probably do not need to adjust this value.\n-+\n-Common unit suffixes of 'k', 'm', or 'g' are supported.\n-\n-core.bigFileThreshold::\n-\tFiles larger than this size are stored deflated, without\n-\tattempting delta compression.  Storing large files without\n-\tdelta compression avoids excessive memory usage, at the\n-\tslight expense of increased disk usage. Additionally files\n-\tlarger than this size are always treated as binary.\n-+\n-Default is 512 MiB on all platforms.  This should be reasonable\n-for most projects as source code and other text files can still\n-be delta compressed, but larger binary media files won't be.\n-+\n-Common unit suffixes of 'k', 'm', or 'g' are supported.\n-\n-core.excludesFile::\n-\tSpecifies the pathname to the file that contains patterns to\n-\tdescribe paths that are not meant to be tracked, in addition\n-\tto '.gitignore' (per-directory) and '.git/info/exclude'.\n-\tDefaults to `$XDG_CONFIG_HOME/git/ignore`.\n-\tIf `$XDG_CONFIG_HOME` is either not set or empty, `$HOME/.config/git/ignore`\n-\tis used instead. See linkgit:gitignore[5].\n-\n-core.askPass::\n-\tSome commands (e.g. svn and http interfaces) that interactively\n-\task for a password can be told to use an external program given\n-\tvia the value of this variable. Can be overridden by the `GIT_ASKPASS`\n-\tenvironment variable. If not set, fall back to the value of the\n-\t`SSH_ASKPASS` environment variable or, failing that, a simple password\n-\tprompt. The external program shall be given a suitable prompt as\n-\tcommand-line argument and write the password on its STDOUT.\n-\n-core.attributesFile::\n-\tIn addition to '.gitattributes' (per-directory) and\n-\t'.git/info/attributes', Git looks into this file for attributes\n-\t(see linkgit:gitattributes[5]). Path expansions are made the same\n-\tway as for `core.excludesFile`. Its default value is\n-\t`$XDG_CONFIG_HOME/git/attributes`. If `$XDG_CONFIG_HOME` is either not\n-\tset or empty, `$HOME/.config/git/attributes` is used instead.\n-\n-core.hooksPath::\n-\tBy default Git will look for your hooks in the\n-\t'$GIT_DIR/hooks' directory. Set this to different path,\n-\te.g. '/etc/git/hooks', and Git will try to find your hooks in\n-\tthat directory, e.g. '/etc/git/hooks/pre-receive' instead of\n-\tin '$GIT_DIR/hooks/pre-receive'.\n-+\n-The path can be either absolute or relative. A relative path is\n-taken as relative to the directory where the hooks are run (see\n-the \"DESCRIPTION\" section of linkgit:githooks[5]).\n-+\n-This configuration variable is useful in cases where you'd like to\n-centrally configure your Git hooks instead of configuring them on a\n-per-repository basis, or as a more flexible and centralized\n-alternative to having an `init.templateDir` where you've changed\n-default hooks.\n-\n-core.editor::\n-\tCommands such as `commit` and `tag` that let you edit\n-\tmessages by launching an editor use the value of this\n-\tvariable when it is set, and the environment variable\n-\t`GIT_EDITOR` is not set.  See linkgit:git-var[1].\n-\n-core.commentChar::\n-\tCommands such as `commit` and `tag` that let you edit\n-\tmessages consider a line that begins with this character\n-\tcommented, and removes them after the editor returns\n-\t(default '#').\n-+\n-If set to \"auto\", `git-commit` would select a character that is not\n-the beginning character of any line in existing commit messages.\n-\n-core.filesRefLockTimeout::\n-\tThe length of time, in milliseconds, to retry when trying to\n-\tlock an individual reference. Value 0 means not to retry at\n-\tall; -1 means to try indefinitely. Default is 100 (i.e.,\n-\tretry for 100ms).\n-\n-core.packedRefsTimeout::\n-\tThe length of time, in milliseconds, to retry when trying to\n-\tlock the `packed-refs` file. Value 0 means not to retry at\n-\tall; -1 means to try indefinitely. Default is 1000 (i.e.,\n-\tretry for 1 second).\n-\n-core.pager::\n-\tText viewer for use by Git commands (e.g., 'less').  The value\n-\tis meant to be interpreted by the shell.  The order of preference\n-\tis the `$GIT_PAGER` environment variable, then `core.pager`\n-\tconfiguration, then `$PAGER`, and then the default chosen at\n-\tcompile time (usually 'less').\n-+\n-When the `LESS` environment variable is unset, Git sets it to `FRX`\n-(if `LESS` environment variable is set, Git does not change it at\n-all).  If you want to selectively override Git's default setting\n-for `LESS`, you can set `core.pager` to e.g. `less -S`.  This will\n-be passed to the shell by Git, which will translate the final\n-command to `LESS=FRX less -S`. The environment does not set the\n-`S` option but the command line does, instructing less to truncate\n-long lines. Similarly, setting `core.pager` to `less -+F` will\n-deactivate the `F` option specified by the environment from the\n-command-line, deactivating the \"quit if one screen\" behavior of\n-`less`.  One can specifically activate some flags for particular\n-commands: for example, setting `pager.blame` to `less -S` enables\n-line truncation only for `git blame`.\n-+\n-Likewise, when the `LV` environment variable is unset, Git sets it\n-to `-c`.  You can override this setting by exporting `LV` with\n-another value or setting `core.pager` to `lv +c`.\n-\n-core.whitespace::\n-\tA comma separated list of common whitespace problems to\n-\tnotice.  'git diff' will use `color.diff.whitespace` to\n-\thighlight them, and 'git apply --whitespace=error' will\n-\tconsider them as errors.  You can prefix `-` to disable\n-\tany of them (e.g. `-trailing-space`):\n-+\n-* `blank-at-eol` treats trailing whitespaces at the end of the line\n-  as an error (enabled by default).\n-* `space-before-tab` treats a space character that appears immediately\n-  before a tab character in the initial indent part of the line as an\n-  error (enabled by default).\n-* `indent-with-non-tab` treats a line that is indented with space\n-  characters instead of the equivalent tabs as an error (not enabled by\n-  default).\n-* `tab-in-indent` treats a tab character in the initial indent part of\n-  the line as an error (not enabled by default).\n-* `blank-at-eof` treats blank lines added at the end of file as an error\n-  (enabled by default).\n-* `trailing-space` is a short-hand to cover both `blank-at-eol` and\n-  `blank-at-eof`.\n-* `cr-at-eol` treats a carriage-return at the end of line as\n-  part of the line terminator, i.e. with it, `trailing-space`\n-  does not trigger if the character before such a carriage-return\n-  is not a whitespace (not enabled by default).\n-* `tabwidth=<n>` tells how many character positions a tab occupies; this\n-  is relevant for `indent-with-non-tab` and when Git fixes `tab-in-indent`\n-  errors. The default tab width is 8. Allowed values are 1 to 63.\n-\n-core.fsyncObjectFiles::\n-\tThis boolean will enable 'fsync()' when writing object files.\n-+\n-This is a total waste of time and effort on a filesystem that orders\n-data writes properly, but can be useful for filesystems that do not use\n-journalling (traditional UNIX filesystems) or that only journal metadata\n-and not file contents (OS X's HFS+, or Linux ext3 with \"data=writeback\").\n-\n-core.preloadIndex::\n-\tEnable parallel index preload for operations like 'git diff'\n-+\n-This can speed up operations like 'git diff' and 'git status' especially\n-on filesystems like NFS that have weak caching semantics and thus\n-relatively high IO latencies.  When enabled, Git will do the\n-index comparison to the filesystem data in parallel, allowing\n-overlapping IO's.  Defaults to true.\n-\n-core.createObject::\n-\tYou can set this to 'link', in which case a hardlink followed by\n-\ta delete of the source are used to make sure that object creation\n-\twill not overwrite existing objects.\n-+\n-On some file system/operating system combinations, this is unreliable.\n-Set this config setting to 'rename' there; However, This will remove the\n-check that makes sure that existing object files will not get overwritten.\n-\n-core.notesRef::\n-\tWhen showing commit messages, also show notes which are stored in\n-\tthe given ref.  The ref must be fully qualified.  If the given\n-\tref does not exist, it is not an error but means that no\n-\tnotes should be printed.\n-+\n-This setting defaults to \"refs/notes/commits\", and it can be overridden by\n-the `GIT_NOTES_REF` environment variable.  See linkgit:git-notes[1].\n-\n-core.commitGraph::\n-\tIf true, then git will read the commit-graph file (if it exists)\n-\tto parse the graph structure of commits. Defaults to false. See\n-\tlinkgit:git-commit-graph[1] for more information.\n-\n-core.useReplaceRefs::\n-\tIf set to `false`, behave as if the `--no-replace-objects`\n-\toption was given on the command line. See linkgit:git[1] and\n-\tlinkgit:git-replace[1] for more information.\n-\n-core.multiPackIndex::\n-\tUse the multi-pack-index file to track multiple packfiles using a\n-\tsingle index. See link:technical/multi-pack-index.html[the\n-\tmulti-pack-index design document].\n-\n-core.sparseCheckout::\n-\tEnable \"sparse checkout\" feature. See section \"Sparse checkout\" in\n-\tlinkgit:git-read-tree[1] for more information.\n-\n-core.abbrev::\n-\tSet the length object names are abbreviated to.  If\n-\tunspecified or set to \"auto\", an appropriate value is\n-\tcomputed based on the approximate number of packed objects\n-\tin your repository, which hopefully is enough for\n-\tabbreviated object names to stay unique for some time.\n-\tThe minimum length is 4.\n+include::config/core.txt[]\n \n add.ignoreErrors::\n add.ignore-errors (deprecated)::\ndiff --git a/Documentation/config/core.txt b/Documentation/config/core.txt\nnew file mode 100644\nindex 0000000000..73430b635b\n--- /dev/null\n+++ b/Documentation/config/core.txt\n@@ -0,0 +1,594 @@\n+core.fileMode::\n+\tTells Git if the executable bit of files in the working tree\n+\tis to be honored.\n++\n+Some filesystems lose the executable bit when a file that is\n+marked as executable is checked out, or checks out a\n+non-executable file with executable bit on.\n+linkgit:git-clone[1] or linkgit:git-init[1] probe the filesystem\n+to see if it handles the executable bit correctly\n+and this variable is automatically set as necessary.\n++\n+A repository, however, may be on a filesystem that handles\n+the filemode correctly, and this variable is set to 'true'\n+when created, but later may be made accessible from another\n+environment that loses the filemode (e.g. exporting ext4 via\n+CIFS mount, visiting a Cygwin created repository with\n+Git for Windows or Eclipse).\n+In such a case it may be necessary to set this variable to 'false'.\n+See linkgit:git-update-index[1].\n++\n+The default is true (when core.filemode is not specified in the config file).\n+\n+core.hideDotFiles::\n+\t(Windows-only) If true, mark newly-created directories and files whose\n+\tname starts with a dot as hidden.  If 'dotGitOnly', only the `.git/`\n+\tdirectory is hidden, but no other files starting with a dot.  The\n+\tdefault mode is 'dotGitOnly'.\n+\n+core.ignoreCase::\n+\tInternal variable which enables various workarounds to enable\n+\tGit to work better on filesystems that are not case sensitive,\n+\tlike APFS, HFS+, FAT, NTFS, etc. For example, if a directory listing\n+\tfinds \"makefile\" when Git expects \"Makefile\", Git will assume\n+\tit is really the same file, and continue to remember it as\n+\t\"Makefile\".\n++\n+The default is false, except linkgit:git-clone[1] or linkgit:git-init[1]\n+will probe and set core.ignoreCase true if appropriate when the repository\n+is created.\n++\n+Git relies on the proper configuration of this variable for your operating\n+and file system. Modifying this value may result in unexpected behavior.\n+\n+core.precomposeUnicode::\n+\tThis option is only used by Mac OS implementation of Git.\n+\tWhen core.precomposeUnicode=true, Git reverts the unicode decomposition\n+\tof filenames done by Mac OS. This is useful when sharing a repository\n+\tbetween Mac OS and Linux or Windows.\n+\t(Git for Windows 1.7.10 or higher is needed, or Git under cygwin 1.7).\n+\tWhen false, file names are handled fully transparent by Git,\n+\twhich is backward compatible with older versions of Git.\n+\n+core.protectHFS::\n+\tIf set to true, do not allow checkout of paths that would\n+\tbe considered equivalent to `.git` on an HFS+ filesystem.\n+\tDefaults to `true` on Mac OS, and `false` elsewhere.\n+\n+core.protectNTFS::\n+\tIf set to true, do not allow checkout of paths that would\n+\tcause problems with the NTFS filesystem, e.g. conflict with\n+\t8.3 \"short\" names.\n+\tDefaults to `true` on Windows, and `false` elsewhere.\n+\n+core.fsmonitor::\n+\tIf set, the value of this variable is used as a command which\n+\twill identify all files that may have changed since the\n+\trequested date/time. This information is used to speed up git by\n+\tavoiding unnecessary processing of files that have not changed.\n+\tSee the \"fsmonitor-watchman\" section of linkgit:githooks[5].\n+\n+core.trustctime::\n+\tIf false, the ctime differences between the index and the\n+\tworking tree are ignored; useful when the inode change time\n+\tis regularly modified by something outside Git (file system\n+\tcrawlers and some backup systems).\n+\tSee linkgit:git-update-index[1]. True by default.\n+\n+core.splitIndex::\n+\tIf true, the split-index feature of the index will be used.\n+\tSee linkgit:git-update-index[1]. False by default.\n+\n+core.untrackedCache::\n+\tDetermines what to do about the untracked cache feature of the\n+\tindex. It will be kept, if this variable is unset or set to\n+\t`keep`. It will automatically be added if set to `true`. And\n+\tit will automatically be removed, if set to `false`. Before\n+\tsetting it to `true`, you should check that mtime is working\n+\tproperly on your system.\n+\tSee linkgit:git-update-index[1]. `keep` by default.\n+\n+core.checkStat::\n+\tWhen missing or is set to `default`, many fields in the stat\n+\tstructure are checked to detect if a file has been modified\n+\tsince Git looked at it.  When this configuration variable is\n+\tset to `minimal`, sub-second part of mtime and ctime, the\n+\tuid and gid of the owner of the file, the inode number (and\n+\tthe device number, if Git was compiled to use it), are\n+\texcluded from the check among these fields, leaving only the\n+\twhole-second part of mtime (and ctime, if `core.trustCtime`\n+\tis set) and the filesize to be checked.\n++\n+There are implementations of Git that do not leave usable values in\n+some fields (e.g. JGit); by excluding these fields from the\n+comparison, the `minimal` mode may help interoperability when the\n+same repository is used by these other systems at the same time.\n+\n+core.quotePath::\n+\tCommands that output paths (e.g. 'ls-files', 'diff'), will\n+\tquote \"unusual\" characters in the pathname by enclosing the\n+\tpathname in double-quotes and escaping those characters with\n+\tbackslashes in the same way C escapes control characters (e.g.\n+\t`\\t` for TAB, `\\n` for LF, `\\\\` for backslash) or bytes with\n+\tvalues larger than 0x80 (e.g. octal `\\302\\265` for \"micro\" in\n+\tUTF-8).  If this variable is set to false, bytes higher than\n+\t0x80 are not considered \"unusual\" any more. Double-quotes,\n+\tbackslash and control characters are always escaped regardless\n+\tof the setting of this variable.  A simple space character is\n+\tnot considered \"unusual\".  Many commands can output pathnames\n+\tcompletely verbatim using the `-z` option. The default value\n+\tis true.\n+\n+core.eol::\n+\tSets the line ending type to use in the working directory for\n+\tfiles that have the `text` property set when core.autocrlf is false.\n+\tAlternatives are 'lf', 'crlf' and 'native', which uses the platform's\n+\tnative line ending.  The default value is `native`.  See\n+\tlinkgit:gitattributes[5] for more information on end-of-line\n+\tconversion.\n+\n+core.safecrlf::\n+\tIf true, makes Git check if converting `CRLF` is reversible when\n+\tend-of-line conversion is active.  Git will verify if a command\n+\tmodifies a file in the work tree either directly or indirectly.\n+\tFor example, committing a file followed by checking out the\n+\tsame file should yield the original file in the work tree.  If\n+\tthis is not the case for the current setting of\n+\t`core.autocrlf`, Git will reject the file.  The variable can\n+\tbe set to \"warn\", in which case Git will only warn about an\n+\tirreversible conversion but continue the operation.\n++\n+CRLF conversion bears a slight chance of corrupting data.\n+When it is enabled, Git will convert CRLF to LF during commit and LF to\n+CRLF during checkout.  A file that contains a mixture of LF and\n+CRLF before the commit cannot be recreated by Git.  For text\n+files this is the right thing to do: it corrects line endings\n+such that we have only LF line endings in the repository.\n+But for binary files that are accidentally classified as text the\n+conversion can corrupt data.\n++\n+If you recognize such corruption early you can easily fix it by\n+setting the conversion type explicitly in .gitattributes.  Right\n+after committing you still have the original file in your work\n+tree and this file is not yet corrupted.  You can explicitly tell\n+Git that this file is binary and Git will handle the file\n+appropriately.\n++\n+Unfortunately, the desired effect of cleaning up text files with\n+mixed line endings and the undesired effect of corrupting binary\n+files cannot be distinguished.  In both cases CRLFs are removed\n+in an irreversible way.  For text files this is the right thing\n+to do because CRLFs are line endings, while for binary files\n+converting CRLFs corrupts data.\n++\n+Note, this safety check does not mean that a checkout will generate a\n+file identical to the original file for a different setting of\n+`core.eol` and `core.autocrlf`, but only for the current one.  For\n+example, a text file with `LF` would be accepted with `core.eol=lf`\n+and could later be checked out with `core.eol=crlf`, in which case the\n+resulting file would contain `CRLF`, although the original file\n+contained `LF`.  However, in both work trees the line endings would be\n+consistent, that is either all `LF` or all `CRLF`, but never mixed.  A\n+file with mixed line endings would be reported by the `core.safecrlf`\n+mechanism.\n+\n+core.autocrlf::\n+\tSetting this variable to \"true\" is the same as setting\n+\tthe `text` attribute to \"auto\" on all files and core.eol to \"crlf\".\n+\tSet to true if you want to have `CRLF` line endings in your\n+\tworking directory and the repository has LF line endings.\n+\tThis variable can be set to 'input',\n+\tin which case no output conversion is performed.\n+\n+core.checkRoundtripEncoding::\n+\tA comma and/or whitespace separated list of encodings that Git\n+\tperforms UTF-8 round trip checks on if they are used in an\n+\t`working-tree-encoding` attribute (see linkgit:gitattributes[5]).\n+\tThe default value is `SHIFT-JIS`.\n+\n+core.symlinks::\n+\tIf false, symbolic links are checked out as small plain files that\n+\tcontain the link text. linkgit:git-update-index[1] and\n+\tlinkgit:git-add[1] will not change the recorded type to regular\n+\tfile. Useful on filesystems like FAT that do not support\n+\tsymbolic links.\n++\n+The default is true, except linkgit:git-clone[1] or linkgit:git-init[1]\n+will probe and set core.symlinks false if appropriate when the repository\n+is created.\n+\n+core.gitProxy::\n+\tA \"proxy command\" to execute (as 'command host port') instead\n+\tof establishing direct connection to the remote server when\n+\tusing the Git protocol for fetching. If the variable value is\n+\tin the \"COMMAND for DOMAIN\" format, the command is applied only\n+\ton hostnames ending with the specified domain string. This variable\n+\tmay be set multiple times and is matched in the given order;\n+\tthe first match wins.\n++\n+Can be overridden by the `GIT_PROXY_COMMAND` environment variable\n+(which always applies universally, without the special \"for\"\n+handling).\n++\n+The special string `none` can be used as the proxy command to\n+specify that no proxy be used for a given domain pattern.\n+This is useful for excluding servers inside a firewall from\n+proxy use, while defaulting to a common proxy for external domains.\n+\n+core.sshCommand::\n+\tIf this variable is set, `git fetch` and `git push` will\n+\tuse the specified command instead of `ssh` when they need to\n+\tconnect to a remote system. The command is in the same form as\n+\tthe `GIT_SSH_COMMAND` environment variable and is overridden\n+\twhen the environment variable is set.\n+\n+core.ignoreStat::\n+\tIf true, Git will avoid using lstat() calls to detect if files have\n+\tchanged by setting the \"assume-unchanged\" bit for those tracked files\n+\twhich it has updated identically in both the index and working tree.\n++\n+When files are modified outside of Git, the user will need to stage\n+the modified files explicitly (e.g. see 'Examples' section in\n+linkgit:git-update-index[1]).\n+Git will not normally detect changes to those files.\n++\n+This is useful on systems where lstat() calls are very slow, such as\n+CIFS/Microsoft Windows.\n++\n+False by default.\n+\n+core.preferSymlinkRefs::\n+\tInstead of the default \"symref\" format for HEAD\n+\tand other symbolic reference files, use symbolic links.\n+\tThis is sometimes needed to work with old scripts that\n+\texpect HEAD to be a symbolic link.\n+\n+core.alternateRefsCommand::\n+\tWhen advertising tips of available history from an alternate, use the shell to\n+\texecute the specified command instead of linkgit:git-for-each-ref[1]. The\n+\tfirst argument is the absolute path of the alternate. Output must contain one\n+\thex object id per line (i.e., the same as produce by `git for-each-ref\n+\t--format='%(objectname)'`).\n++\n+Note that you cannot generally put `git for-each-ref` directly into the config\n+value, as it does not take a repository path as an argument (but you can wrap\n+the command above in a shell script).\n+\n+core.alternateRefsPrefixes::\n+\tWhen listing references from an alternate, list only references that begin\n+\twith the given prefix. Prefixes match as if they were given as arguments to\n+\tlinkgit:git-for-each-ref[1]. To list multiple prefixes, separate them with\n+\twhitespace. If `core.alternateRefsCommand` is set, setting\n+\t`core.alternateRefsPrefixes` has no effect.\n+\n+core.bare::\n+\tIf true this repository is assumed to be 'bare' and has no\n+\tworking directory associated with it.  If this is the case a\n+\tnumber of commands that require a working directory will be\n+\tdisabled, such as linkgit:git-add[1] or linkgit:git-merge[1].\n++\n+This setting is automatically guessed by linkgit:git-clone[1] or\n+linkgit:git-init[1] when the repository was created.  By default a\n+repository that ends in \"/.git\" is assumed to be not bare (bare =\n+false), while all other repositories are assumed to be bare (bare\n+= true).\n+\n+core.worktree::\n+\tSet the path to the root of the working tree.\n+\tIf `GIT_COMMON_DIR` environment variable is set, core.worktree\n+\tis ignored and not used for determining the root of working tree.\n+\tThis can be overridden by the `GIT_WORK_TREE` environment\n+\tvariable and the `--work-tree` command-line option.\n+\tThe value can be an absolute path or relative to the path to\n+\tthe .git directory, which is either specified by --git-dir\n+\tor GIT_DIR, or automatically discovered.\n+\tIf --git-dir or GIT_DIR is specified but none of\n+\t--work-tree, GIT_WORK_TREE and core.worktree is specified,\n+\tthe current working directory is regarded as the top level\n+\tof your working tree.\n++\n+Note that this variable is honored even when set in a configuration\n+file in a \".git\" subdirectory of a directory and its value differs\n+from the latter directory (e.g. \"/path/to/.git/config\" has\n+core.worktree set to \"/different/path\"), which is most likely a\n+misconfiguration.  Running Git commands in the \"/path/to\" directory will\n+still use \"/different/path\" as the root of the work tree and can cause\n+confusion unless you know what you are doing (e.g. you are creating a\n+read-only snapshot of the same index to a location different from the\n+repository's usual working tree).\n+\n+core.logAllRefUpdates::\n+\tEnable the reflog. Updates to a ref <ref> is logged to the file\n+\t\"`$GIT_DIR/logs/<ref>`\", by appending the new and old\n+\tSHA-1, the date/time and the reason of the update, but\n+\tonly when the file exists.  If this configuration\n+\tvariable is set to `true`, missing \"`$GIT_DIR/logs/<ref>`\"\n+\tfile is automatically created for branch heads (i.e. under\n+\t`refs/heads/`), remote refs (i.e. under `refs/remotes/`),\n+\tnote refs (i.e. under `refs/notes/`), and the symbolic ref `HEAD`.\n+\tIf it is set to `always`, then a missing reflog is automatically\n+\tcreated for any ref under `refs/`.\n++\n+This information can be used to determine what commit\n+was the tip of a branch \"2 days ago\".\n++\n+This value is true by default in a repository that has\n+a working directory associated with it, and false by\n+default in a bare repository.\n+\n+core.repositoryFormatVersion::\n+\tInternal variable identifying the repository format and layout\n+\tversion.\n+\n+core.sharedRepository::\n+\tWhen 'group' (or 'true'), the repository is made shareable between\n+\tseveral users in a group (making sure all the files and objects are\n+\tgroup-writable). When 'all' (or 'world' or 'everybody'), the\n+\trepository will be readable by all users, additionally to being\n+\tgroup-shareable. When 'umask' (or 'false'), Git will use permissions\n+\treported by umask(2). When '0xxx', where '0xxx' is an octal number,\n+\tfiles in the repository will have this mode value. '0xxx' will override\n+\tuser's umask value (whereas the other options will only override\n+\trequested parts of the user's umask value). Examples: '0660' will make\n+\tthe repo read/write-able for the owner and group, but inaccessible to\n+\tothers (equivalent to 'group' unless umask is e.g. '0022'). '0640' is a\n+\trepository that is group-readable but not group-writable.\n+\tSee linkgit:git-init[1]. False by default.\n+\n+core.warnAmbiguousRefs::\n+\tIf true, Git will warn you if the ref name you passed it is ambiguous\n+\tand might match multiple refs in the repository. True by default.\n+\n+core.compression::\n+\tAn integer -1..9, indicating a default compression level.\n+\t-1 is the zlib default. 0 means no compression,\n+\tand 1..9 are various speed/size tradeoffs, 9 being slowest.\n+\tIf set, this provides a default to other compression variables,\n+\tsuch as `core.looseCompression` and `pack.compression`.\n+\n+core.looseCompression::\n+\tAn integer -1..9, indicating the compression level for objects that\n+\tare not in a pack file. -1 is the zlib default. 0 means no\n+\tcompression, and 1..9 are various speed/size tradeoffs, 9 being\n+\tslowest.  If not set,  defaults to core.compression.  If that is\n+\tnot set,  defaults to 1 (best speed).\n+\n+core.packedGitWindowSize::\n+\tNumber of bytes of a pack file to map into memory in a\n+\tsingle mapping operation.  Larger window sizes may allow\n+\tyour system to process a smaller number of large pack files\n+\tmore quickly.  Smaller window sizes will negatively affect\n+\tperformance due to increased calls to the operating system's\n+\tmemory manager, but may improve performance when accessing\n+\ta large number of large pack files.\n++\n+Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32\n+MiB on 32 bit platforms and 1 GiB on 64 bit platforms.  This should\n+be reasonable for all users/operating systems.  You probably do\n+not need to adjust this value.\n++\n+Common unit suffixes of 'k', 'm', or 'g' are supported.\n+\n+core.packedGitLimit::\n+\tMaximum number of bytes to map simultaneously into memory\n+\tfrom pack files.  If Git needs to access more than this many\n+\tbytes at once to complete an operation it will unmap existing\n+\tregions to reclaim virtual address space within the process.\n++\n+Default is 256 MiB on 32 bit platforms and 32 TiB (effectively\n+unlimited) on 64 bit platforms.\n+This should be reasonable for all users/operating systems, except on\n+the largest projects.  You probably do not need to adjust this value.\n++\n+Common unit suffixes of 'k', 'm', or 'g' are supported.\n+\n+core.deltaBaseCacheLimit::\n+\tMaximum number of bytes to reserve for caching base objects\n+\tthat may be referenced by multiple deltified objects.  By storing the\n+\tentire decompressed base objects in a cache Git is able\n+\tto avoid unpacking and decompressing frequently used base\n+\tobjects multiple times.\n++\n+Default is 96 MiB on all platforms.  This should be reasonable\n+for all users/operating systems, except on the largest projects.\n+You probably do not need to adjust this value.\n++\n+Common unit suffixes of 'k', 'm', or 'g' are supported.\n+\n+core.bigFileThreshold::\n+\tFiles larger than this size are stored deflated, without\n+\tattempting delta compression.  Storing large files without\n+\tdelta compression avoids excessive memory usage, at the\n+\tslight expense of increased disk usage. Additionally files\n+\tlarger than this size are always treated as binary.\n++\n+Default is 512 MiB on all platforms.  This should be reasonable\n+for most projects as source code and other text files can still\n+be delta compressed, but larger binary media files won't be.\n++\n+Common unit suffixes of 'k', 'm', or 'g' are supported.\n+\n+core.excludesFile::\n+\tSpecifies the pathname to the file that contains patterns to\n+\tdescribe paths that are not meant to be tracked, in addition\n+\tto '.gitignore' (per-directory) and '.git/info/exclude'.\n+\tDefaults to `$XDG_CONFIG_HOME/git/ignore`.\n+\tIf `$XDG_CONFIG_HOME` is either not set or empty, `$HOME/.config/git/ignore`\n+\tis used instead. See linkgit:gitignore[5].\n+\n+core.askPass::\n+\tSome commands (e.g. svn and http interfaces) that interactively\n+\task for a password can be told to use an external program given\n+\tvia the value of this variable. Can be overridden by the `GIT_ASKPASS`\n+\tenvironment variable. If not set, fall back to the value of the\n+\t`SSH_ASKPASS` environment variable or, failing that, a simple password\n+\tprompt. The external program shall be given a suitable prompt as\n+\tcommand-line argument and write the password on its STDOUT.\n+\n+core.attributesFile::\n+\tIn addition to '.gitattributes' (per-directory) and\n+\t'.git/info/attributes', Git looks into this file for attributes\n+\t(see linkgit:gitattributes[5]). Path expansions are made the same\n+\tway as for `core.excludesFile`. Its default value is\n+\t`$XDG_CONFIG_HOME/git/attributes`. If `$XDG_CONFIG_HOME` is either not\n+\tset or empty, `$HOME/.config/git/attributes` is used instead.\n+\n+core.hooksPath::\n+\tBy default Git will look for your hooks in the\n+\t'$GIT_DIR/hooks' directory. Set this to different path,\n+\te.g. '/etc/git/hooks', and Git will try to find your hooks in\n+\tthat directory, e.g. '/etc/git/hooks/pre-receive' instead of\n+\tin '$GIT_DIR/hooks/pre-receive'.\n++\n+The path can be either absolute or relative. A relative path is\n+taken as relative to the directory where the hooks are run (see\n+the \"DESCRIPTION\" section of linkgit:githooks[5]).\n++\n+This configuration variable is useful in cases where you'd like to\n+centrally configure your Git hooks instead of configuring them on a\n+per-repository basis, or as a more flexible and centralized\n+alternative to having an `init.templateDir` where you've changed\n+default hooks.\n+\n+core.editor::\n+\tCommands such as `commit` and `tag` that let you edit\n+\tmessages by launching an editor use the value of this\n+\tvariable when it is set, and the environment variable\n+\t`GIT_EDITOR` is not set.  See linkgit:git-var[1].\n+\n+core.commentChar::\n+\tCommands such as `commit` and `tag` that let you edit\n+\tmessages consider a line that begins with this character\n+\tcommented, and removes them after the editor returns\n+\t(default '#').\n++\n+If set to \"auto\", `git-commit` would select a character that is not\n+the beginning character of any line in existing commit messages.\n+\n+core.filesRefLockTimeout::\n+\tThe length of time, in milliseconds, to retry when trying to\n+\tlock an individual reference. Value 0 means not to retry at\n+\tall; -1 means to try indefinitely. Default is 100 (i.e.,\n+\tretry for 100ms).\n+\n+core.packedRefsTimeout::\n+\tThe length of time, in milliseconds, to retry when trying to\n+\tlock the `packed-refs` file. Value 0 means not to retry at\n+\tall; -1 means to try indefinitely. Default is 1000 (i.e.,\n+\tretry for 1 second).\n+\n+core.pager::\n+\tText viewer for use by Git commands (e.g., 'less').  The value\n+\tis meant to be interpreted by the shell.  The order of preference\n+\tis the `$GIT_PAGER` environment variable, then `core.pager`\n+\tconfiguration, then `$PAGER`, and then the default chosen at\n+\tcompile time (usually 'less').\n++\n+When the `LESS` environment variable is unset, Git sets it to `FRX`\n+(if `LESS` environment variable is set, Git does not change it at\n+all).  If you want to selectively override Git's default setting\n+for `LESS`, you can set `core.pager` to e.g. `less -S`.  This will\n+be passed to the shell by Git, which will translate the final\n+command to `LESS=FRX less -S`. The environment does not set the\n+`S` option but the command line does, instructing less to truncate\n+long lines. Similarly, setting `core.pager` to `less -+F` will\n+deactivate the `F` option specified by the environment from the\n+command-line, deactivating the \"quit if one screen\" behavior of\n+`less`.  One can specifically activate some flags for particular\n+commands: for example, setting `pager.blame` to `less -S` enables\n+line truncation only for `git blame`.\n++\n+Likewise, when the `LV` environment variable is unset, Git sets it\n+to `-c`.  You can override this setting by exporting `LV` with\n+another value or setting `core.pager` to `lv +c`.\n+\n+core.whitespace::\n+\tA comma separated list of common whitespace problems to\n+\tnotice.  'git diff' will use `color.diff.whitespace` to\n+\thighlight them, and 'git apply --whitespace=error' will\n+\tconsider them as errors.  You can prefix `-` to disable\n+\tany of them (e.g. `-trailing-space`):\n++\n+* `blank-at-eol` treats trailing whitespaces at the end of the line\n+  as an error (enabled by default).\n+* `space-before-tab` treats a space character that appears immediately\n+  before a tab character in the initial indent part of the line as an\n+  error (enabled by default).\n+* `indent-with-non-tab` treats a line that is indented with space\n+  characters instead of the equivalent tabs as an error (not enabled by\n+  default).\n+* `tab-in-indent` treats a tab character in the initial indent part of\n+  the line as an error (not enabled by default).\n+* `blank-at-eof` treats blank lines added at the end of file as an error\n+  (enabled by default).\n+* `trailing-space` is a short-hand to cover both `blank-at-eol` and\n+  `blank-at-eof`.\n+* `cr-at-eol` treats a carriage-return at the end of line as\n+  part of the line terminator, i.e. with it, `trailing-space`\n+  does not trigger if the character before such a carriage-return\n+  is not a whitespace (not enabled by default).\n+* `tabwidth=<n>` tells how many character positions a tab occupies; this\n+  is relevant for `indent-with-non-tab` and when Git fixes `tab-in-indent`\n+  errors. The default tab width is 8. Allowed values are 1 to 63.\n+\n+core.fsyncObjectFiles::\n+\tThis boolean will enable 'fsync()' when writing object files.\n++\n+This is a total waste of time and effort on a filesystem that orders\n+data writes properly, but can be useful for filesystems that do not use\n+journalling (traditional UNIX filesystems) or that only journal metadata\n+and not file contents (OS X's HFS+, or Linux ext3 with \"data=writeback\").\n+\n+core.preloadIndex::\n+\tEnable parallel index preload for operations like 'git diff'\n++\n+This can speed up operations like 'git diff' and 'git status' especially\n+on filesystems like NFS that have weak caching semantics and thus\n+relatively high IO latencies.  When enabled, Git will do the\n+index comparison to the filesystem data in parallel, allowing\n+overlapping IO's.  Defaults to true.\n+\n+core.createObject::\n+\tYou can set this to 'link', in which case a hardlink followed by\n+\ta delete of the source are used to make sure that object creation\n+\twill not overwrite existing objects.\n++\n+On some file system/operating system combinations, this is unreliable.\n+Set this config setting to 'rename' there; However, This will remove the\n+check that makes sure that existing object files will not get overwritten.\n+\n+core.notesRef::\n+\tWhen showing commit messages, also show notes which are stored in\n+\tthe given ref.  The ref must be fully qualified.  If the given\n+\tref does not exist, it is not an error but means that no\n+\tnotes should be printed.\n++\n+This setting defaults to \"refs/notes/commits\", and it can be overridden by\n+the `GIT_NOTES_REF` environment variable.  See linkgit:git-notes[1].\n+\n+core.commitGraph::\n+\tIf true, then git will read the commit-graph file (if it exists)\n+\tto parse the graph structure of commits. Defaults to false. See\n+\tlinkgit:git-commit-graph[1] for more information.\n+\n+core.useReplaceRefs::\n+\tIf set to `false`, behave as if the `--no-replace-objects`\n+\toption was given on the command line. See linkgit:git[1] and\n+\tlinkgit:git-replace[1] for more information.\n+\n+core.multiPackIndex::\n+\tUse the multi-pack-index file to track multiple packfiles using a\n+\tsingle index. See link:technical/multi-pack-index.html[the\n+\tmulti-pack-index design document].\n+\n+core.sparseCheckout::\n+\tEnable \"sparse checkout\" feature. See section \"Sparse checkout\" in\n+\tlinkgit:git-read-tree[1] for more information.\n+\n+core.abbrev::\n+\tSet the length object names are abbreviated to.  If\n+\tunspecified or set to \"auto\", an appropriate value is\n+\tcomputed based on the approximate number of packed objects\n+\tin your repository, which hopefully is enough for\n+\tabbreviated object names to stay unique for some time.\n+\tThe minimum length is 4.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361672","messageId":"20181027062351.30446-7-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 06/78] config.txt: move am.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:39Z","receivedAt":"2018-10-27T06:24:08Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt    | 15 +--------------\n Documentation/config/am.txt | 14 ++++++++++++++\n 2 files changed, 15 insertions(+), 14 deletions(-)\n create mode 100644 Documentation/config/am.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex f207cae90c..5e0f76fc6e 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -295,20 +295,7 @@ include::config/add.txt[]\n \n include::config/alias.txt[]\n \n-am.keepcr::\n-\tIf true, git-am will call git-mailsplit for patches in mbox format\n-\twith parameter `--keep-cr`. In this case git-mailsplit will\n-\tnot remove `\\r` from lines ending with `\\r\\n`. Can be overridden\n-\tby giving `--no-keep-cr` from the command line.\n-\tSee linkgit:git-am[1], linkgit:git-mailsplit[1].\n-\n-am.threeWay::\n-\tBy default, `git am` will fail if the patch does not apply cleanly. When\n-\tset to true, this setting tells `git am` to fall back on 3-way merge if\n-\tthe patch records the identity of blobs it is supposed to apply to and\n-\twe have those blobs available locally (equivalent to giving the `--3way`\n-\toption from the command line). Defaults to `false`.\n-\tSee linkgit:git-am[1].\n+include::config/am.txt[]\n \n apply.ignoreWhitespace::\n \tWhen set to 'change', tells 'git apply' to ignore changes in\ndiff --git a/Documentation/config/am.txt b/Documentation/config/am.txt\nnew file mode 100644\nindex 0000000000..5bcad2efb1\n--- /dev/null\n+++ b/Documentation/config/am.txt\n@@ -0,0 +1,14 @@\n+am.keepcr::\n+\tIf true, git-am will call git-mailsplit for patches in mbox format\n+\twith parameter `--keep-cr`. In this case git-mailsplit will\n+\tnot remove `\\r` from lines ending with `\\r\\n`. Can be overridden\n+\tby giving `--no-keep-cr` from the command line.\n+\tSee linkgit:git-am[1], linkgit:git-mailsplit[1].\n+\n+am.threeWay::\n+\tBy default, `git am` will fail if the patch does not apply cleanly. When\n+\tset to true, this setting tells `git am` to fall back on 3-way merge if\n+\tthe patch records the identity of blobs it is supposed to apply to and\n+\twe have those blobs available locally (equivalent to giving the `--3way`\n+\toption from the command line). Defaults to `false`.\n+\tSee linkgit:git-am[1].\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361673","messageId":"20181027062351.30446-8-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 07/78] config.txt: move apply.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:40Z","receivedAt":"2018-10-27T06:24:10Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt       | 12 +-----------\n Documentation/config/apply.txt | 11 +++++++++++\n 2 files changed, 12 insertions(+), 11 deletions(-)\n create mode 100644 Documentation/config/apply.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 5e0f76fc6e..c8d20227a8 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -297,17 +297,7 @@ include::config/alias.txt[]\n \n include::config/am.txt[]\n \n-apply.ignoreWhitespace::\n-\tWhen set to 'change', tells 'git apply' to ignore changes in\n-\twhitespace, in the same way as the `--ignore-space-change`\n-\toption.\n-\tWhen set to one of: no, none, never, false tells 'git apply' to\n-\trespect all whitespace differences.\n-\tSee linkgit:git-apply[1].\n-\n-apply.whitespace::\n-\tTells 'git apply' how to handle whitespaces, in the same way\n-\tas the `--whitespace` option. See linkgit:git-apply[1].\n+include::config/apply.txt[]\n \n blame.blankBoundary::\n \tShow blank commit object name for boundary commits in\ndiff --git a/Documentation/config/apply.txt b/Documentation/config/apply.txt\nnew file mode 100644\nindex 0000000000..8fb8ef763d\n--- /dev/null\n+++ b/Documentation/config/apply.txt\n@@ -0,0 +1,11 @@\n+apply.ignoreWhitespace::\n+\tWhen set to 'change', tells 'git apply' to ignore changes in\n+\twhitespace, in the same way as the `--ignore-space-change`\n+\toption.\n+\tWhen set to one of: no, none, never, false tells 'git apply' to\n+\trespect all whitespace differences.\n+\tSee linkgit:git-apply[1].\n+\n+apply.whitespace::\n+\tTells 'git apply' how to handle whitespaces, in the same way\n+\tas the `--whitespace` option. See linkgit:git-apply[1].\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361675","messageId":"20181027062351.30446-9-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 08/78] config.txt: move blame.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:41Z","receivedAt":"2018-10-27T06:24:11Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt       | 22 +---------------------\n Documentation/config/blame.txt | 21 +++++++++++++++++++++\n 2 files changed, 22 insertions(+), 21 deletions(-)\n create mode 100644 Documentation/config/blame.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex c8d20227a8..9ee989bc67 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -299,27 +299,7 @@ include::config/am.txt[]\n \n include::config/apply.txt[]\n \n-blame.blankBoundary::\n-\tShow blank commit object name for boundary commits in\n-\tlinkgit:git-blame[1]. This option defaults to false.\n-\n-blame.coloring::\n-\tThis determines the coloring scheme to be applied to blame\n-\toutput. It can be 'repeatedLines', 'highlightRecent',\n-\tor 'none' which is the default.\n-\n-blame.date::\n-\tSpecifies the format used to output dates in linkgit:git-blame[1].\n-\tIf unset the iso format is used. For supported values,\n-\tsee the discussion of the `--date` option at linkgit:git-log[1].\n-\n-blame.showEmail::\n-\tShow the author email instead of author name in linkgit:git-blame[1].\n-\tThis option defaults to false.\n-\n-blame.showRoot::\n-\tDo not treat root commits as boundaries in linkgit:git-blame[1].\n-\tThis option defaults to false.\n+include::config/blame.txt[]\n \n branch.autoSetupMerge::\n \tTells 'git branch' and 'git checkout' to set up new branches\ndiff --git a/Documentation/config/blame.txt b/Documentation/config/blame.txt\nnew file mode 100644\nindex 0000000000..67b5c1d1e0\n--- /dev/null\n+++ b/Documentation/config/blame.txt\n@@ -0,0 +1,21 @@\n+blame.blankBoundary::\n+\tShow blank commit object name for boundary commits in\n+\tlinkgit:git-blame[1]. This option defaults to false.\n+\n+blame.coloring::\n+\tThis determines the coloring scheme to be applied to blame\n+\toutput. It can be 'repeatedLines', 'highlightRecent',\n+\tor 'none' which is the default.\n+\n+blame.date::\n+\tSpecifies the format used to output dates in linkgit:git-blame[1].\n+\tIf unset the iso format is used. For supported values,\n+\tsee the discussion of the `--date` option at linkgit:git-log[1].\n+\n+blame.showEmail::\n+\tShow the author email instead of author name in linkgit:git-blame[1].\n+\tThis option defaults to false.\n+\n+blame.showRoot::\n+\tDo not treat root commits as boundaries in linkgit:git-blame[1].\n+\tThis option defaults to false.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361674","messageId":"20181027062351.30446-10-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 09/78] config.txt: move branch.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:42Z","receivedAt":"2018-10-27T06:24:12Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt        | 103 +-------------------------------\n Documentation/config/branch.txt | 102 +++++++++++++++++++++++++++++++\n 2 files changed, 103 insertions(+), 102 deletions(-)\n create mode 100644 Documentation/config/branch.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 9ee989bc67..3dc7dd6cdb 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -301,108 +301,7 @@ include::config/apply.txt[]\n \n include::config/blame.txt[]\n \n-branch.autoSetupMerge::\n-\tTells 'git branch' and 'git checkout' to set up new branches\n-\tso that linkgit:git-pull[1] will appropriately merge from the\n-\tstarting point branch. Note that even if this option is not set,\n-\tthis behavior can be chosen per-branch using the `--track`\n-\tand `--no-track` options. The valid settings are: `false` -- no\n-\tautomatic setup is done; `true` -- automatic setup is done when the\n-\tstarting point is a remote-tracking branch; `always` --\n-\tautomatic setup is done when the starting point is either a\n-\tlocal branch or remote-tracking\n-\tbranch. This option defaults to true.\n-\n-branch.autoSetupRebase::\n-\tWhen a new branch is created with 'git branch' or 'git checkout'\n-\tthat tracks another branch, this variable tells Git to set\n-\tup pull to rebase instead of merge (see \"branch.<name>.rebase\").\n-\tWhen `never`, rebase is never automatically set to true.\n-\tWhen `local`, rebase is set to true for tracked branches of\n-\tother local branches.\n-\tWhen `remote`, rebase is set to true for tracked branches of\n-\tremote-tracking branches.\n-\tWhen `always`, rebase will be set to true for all tracking\n-\tbranches.\n-\tSee \"branch.autoSetupMerge\" for details on how to set up a\n-\tbranch to track another branch.\n-\tThis option defaults to never.\n-\n-branch.sort::\n-\tThis variable controls the sort ordering of branches when displayed by\n-\tlinkgit:git-branch[1]. Without the \"--sort=<value>\" option provided, the\n-\tvalue of this variable will be used as the default.\n-\tSee linkgit:git-for-each-ref[1] field names for valid values.\n-\n-branch.<name>.remote::\n-\tWhen on branch <name>, it tells 'git fetch' and 'git push'\n-\twhich remote to fetch from/push to.  The remote to push to\n-\tmay be overridden with `remote.pushDefault` (for all branches).\n-\tThe remote to push to, for the current branch, may be further\n-\toverridden by `branch.<name>.pushRemote`.  If no remote is\n-\tconfigured, or if you are not on any branch, it defaults to\n-\t`origin` for fetching and `remote.pushDefault` for pushing.\n-\tAdditionally, `.` (a period) is the current local repository\n-\t(a dot-repository), see `branch.<name>.merge`'s final note below.\n-\n-branch.<name>.pushRemote::\n-\tWhen on branch <name>, it overrides `branch.<name>.remote` for\n-\tpushing.  It also overrides `remote.pushDefault` for pushing\n-\tfrom branch <name>.  When you pull from one place (e.g. your\n-\tupstream) and push to another place (e.g. your own publishing\n-\trepository), you would want to set `remote.pushDefault` to\n-\tspecify the remote to push to for all branches, and use this\n-\toption to override it for a specific branch.\n-\n-branch.<name>.merge::\n-\tDefines, together with branch.<name>.remote, the upstream branch\n-\tfor the given branch. It tells 'git fetch'/'git pull'/'git rebase' which\n-\tbranch to merge and can also affect 'git push' (see push.default).\n-\tWhen in branch <name>, it tells 'git fetch' the default\n-\trefspec to be marked for merging in FETCH_HEAD. The value is\n-\thandled like the remote part of a refspec, and must match a\n-\tref which is fetched from the remote given by\n-\t\"branch.<name>.remote\".\n-\tThe merge information is used by 'git pull' (which at first calls\n-\t'git fetch') to lookup the default branch for merging. Without\n-\tthis option, 'git pull' defaults to merge the first refspec fetched.\n-\tSpecify multiple values to get an octopus merge.\n-\tIf you wish to setup 'git pull' so that it merges into <name> from\n-\tanother branch in the local repository, you can point\n-\tbranch.<name>.merge to the desired branch, and use the relative path\n-\tsetting `.` (a period) for branch.<name>.remote.\n-\n-branch.<name>.mergeOptions::\n-\tSets default options for merging into branch <name>. The syntax and\n-\tsupported options are the same as those of linkgit:git-merge[1], but\n-\toption values containing whitespace characters are currently not\n-\tsupported.\n-\n-branch.<name>.rebase::\n-\tWhen true, rebase the branch <name> on top of the fetched branch,\n-\tinstead of merging the default branch from the default remote when\n-\t\"git pull\" is run. See \"pull.rebase\" for doing this in a non\n-\tbranch-specific manner.\n-+\n-When `merges`, pass the `--rebase-merges` option to 'git rebase'\n-so that the local merge commits are included in the rebase (see\n-linkgit:git-rebase[1] for details).\n-+\n-When preserve, also pass `--preserve-merges` along to 'git rebase'\n-so that locally committed merge commits will not be flattened\n-by running 'git pull'.\n-+\n-When the value is `interactive`, the rebase is run in interactive mode.\n-+\n-*NOTE*: this is a possibly dangerous operation; do *not* use\n-it unless you understand the implications (see linkgit:git-rebase[1]\n-for details).\n-\n-branch.<name>.description::\n-\tBranch description, can be edited with\n-\t`git branch --edit-description`. Branch description is\n-\tautomatically added in the format-patch cover letter or\n-\trequest-pull summary.\n+include::config/branch.txt[]\n \n browser.<tool>.cmd::\n \tSpecify the command to invoke the specified browser. The\ndiff --git a/Documentation/config/branch.txt b/Documentation/config/branch.txt\nnew file mode 100644\nindex 0000000000..019d60ede2\n--- /dev/null\n+++ b/Documentation/config/branch.txt\n@@ -0,0 +1,102 @@\n+branch.autoSetupMerge::\n+\tTells 'git branch' and 'git checkout' to set up new branches\n+\tso that linkgit:git-pull[1] will appropriately merge from the\n+\tstarting point branch. Note that even if this option is not set,\n+\tthis behavior can be chosen per-branch using the `--track`\n+\tand `--no-track` options. The valid settings are: `false` -- no\n+\tautomatic setup is done; `true` -- automatic setup is done when the\n+\tstarting point is a remote-tracking branch; `always` --\n+\tautomatic setup is done when the starting point is either a\n+\tlocal branch or remote-tracking\n+\tbranch. This option defaults to true.\n+\n+branch.autoSetupRebase::\n+\tWhen a new branch is created with 'git branch' or 'git checkout'\n+\tthat tracks another branch, this variable tells Git to set\n+\tup pull to rebase instead of merge (see \"branch.<name>.rebase\").\n+\tWhen `never`, rebase is never automatically set to true.\n+\tWhen `local`, rebase is set to true for tracked branches of\n+\tother local branches.\n+\tWhen `remote`, rebase is set to true for tracked branches of\n+\tremote-tracking branches.\n+\tWhen `always`, rebase will be set to true for all tracking\n+\tbranches.\n+\tSee \"branch.autoSetupMerge\" for details on how to set up a\n+\tbranch to track another branch.\n+\tThis option defaults to never.\n+\n+branch.sort::\n+\tThis variable controls the sort ordering of branches when displayed by\n+\tlinkgit:git-branch[1]. Without the \"--sort=<value>\" option provided, the\n+\tvalue of this variable will be used as the default.\n+\tSee linkgit:git-for-each-ref[1] field names for valid values.\n+\n+branch.<name>.remote::\n+\tWhen on branch <name>, it tells 'git fetch' and 'git push'\n+\twhich remote to fetch from/push to.  The remote to push to\n+\tmay be overridden with `remote.pushDefault` (for all branches).\n+\tThe remote to push to, for the current branch, may be further\n+\toverridden by `branch.<name>.pushRemote`.  If no remote is\n+\tconfigured, or if you are not on any branch, it defaults to\n+\t`origin` for fetching and `remote.pushDefault` for pushing.\n+\tAdditionally, `.` (a period) is the current local repository\n+\t(a dot-repository), see `branch.<name>.merge`'s final note below.\n+\n+branch.<name>.pushRemote::\n+\tWhen on branch <name>, it overrides `branch.<name>.remote` for\n+\tpushing.  It also overrides `remote.pushDefault` for pushing\n+\tfrom branch <name>.  When you pull from one place (e.g. your\n+\tupstream) and push to another place (e.g. your own publishing\n+\trepository), you would want to set `remote.pushDefault` to\n+\tspecify the remote to push to for all branches, and use this\n+\toption to override it for a specific branch.\n+\n+branch.<name>.merge::\n+\tDefines, together with branch.<name>.remote, the upstream branch\n+\tfor the given branch. It tells 'git fetch'/'git pull'/'git rebase' which\n+\tbranch to merge and can also affect 'git push' (see push.default).\n+\tWhen in branch <name>, it tells 'git fetch' the default\n+\trefspec to be marked for merging in FETCH_HEAD. The value is\n+\thandled like the remote part of a refspec, and must match a\n+\tref which is fetched from the remote given by\n+\t\"branch.<name>.remote\".\n+\tThe merge information is used by 'git pull' (which at first calls\n+\t'git fetch') to lookup the default branch for merging. Without\n+\tthis option, 'git pull' defaults to merge the first refspec fetched.\n+\tSpecify multiple values to get an octopus merge.\n+\tIf you wish to setup 'git pull' so that it merges into <name> from\n+\tanother branch in the local repository, you can point\n+\tbranch.<name>.merge to the desired branch, and use the relative path\n+\tsetting `.` (a period) for branch.<name>.remote.\n+\n+branch.<name>.mergeOptions::\n+\tSets default options for merging into branch <name>. The syntax and\n+\tsupported options are the same as those of linkgit:git-merge[1], but\n+\toption values containing whitespace characters are currently not\n+\tsupported.\n+\n+branch.<name>.rebase::\n+\tWhen true, rebase the branch <name> on top of the fetched branch,\n+\tinstead of merging the default branch from the default remote when\n+\t\"git pull\" is run. See \"pull.rebase\" for doing this in a non\n+\tbranch-specific manner.\n++\n+When `merges`, pass the `--rebase-merges` option to 'git rebase'\n+so that the local merge commits are included in the rebase (see\n+linkgit:git-rebase[1] for details).\n++\n+When preserve, also pass `--preserve-merges` along to 'git rebase'\n+so that locally committed merge commits will not be flattened\n+by running 'git pull'.\n++\n+When the value is `interactive`, the rebase is run in interactive mode.\n++\n+*NOTE*: this is a possibly dangerous operation; do *not* use\n+it unless you understand the implications (see linkgit:git-rebase[1]\n+for details).\n+\n+branch.<name>.description::\n+\tBranch description, can be edited with\n+\t`git branch --edit-description`. Branch description is\n+\tautomatically added in the format-patch cover letter or\n+\trequest-pull summary.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361677","messageId":"20181027062351.30446-12-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 11/78] config.txt: move checkout.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:44Z","receivedAt":"2018-10-27T06:24:12Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt          | 24 +-----------------------\n Documentation/config/checkout.txt | 23 +++++++++++++++++++++++\n 2 files changed, 24 insertions(+), 23 deletions(-)\n create mode 100644 Documentation/config/checkout.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 47eb119976..a473ddc3c3 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -305,29 +305,7 @@ include::config/branch.txt[]\n \n include::config/browser.txt[]\n \n-checkout.defaultRemote::\n-\tWhen you run 'git checkout <something>' and only have one\n-\tremote, it may implicitly fall back on checking out and\n-\ttracking e.g. 'origin/<something>'. This stops working as soon\n-\tas you have more than one remote with a '<something>'\n-\treference. This setting allows for setting the name of a\n-\tpreferred remote that should always win when it comes to\n-\tdisambiguation. The typical use-case is to set this to\n-\t`origin`.\n-+\n-Currently this is used by linkgit:git-checkout[1] when 'git checkout\n-<something>' will checkout the '<something>' branch on another remote,\n-and by linkgit:git-worktree[1] when 'git worktree add' refers to a\n-remote branch. This setting might be used for other checkout-like\n-commands or functionality in the future.\n-\n-checkout.optimizeNewBranch::\n-\tOptimizes the performance of \"git checkout -b <new_branch>\" when\n-\tusing sparse-checkout.  When set to true, git will not update the\n-\trepo based on the current sparse-checkout settings.  This means it\n-\twill not update the skip-worktree bit in the index nor add/remove\n-\tfiles in the working directory to reflect the current sparse checkout\n-\tsettings nor will it show the local changes.\n+include::config/checkout.txt[]\n \n clean.requireForce::\n \tA boolean to make git-clean do nothing unless given -f,\ndiff --git a/Documentation/config/checkout.txt b/Documentation/config/checkout.txt\nnew file mode 100644\nindex 0000000000..c4118fa196\n--- /dev/null\n+++ b/Documentation/config/checkout.txt\n@@ -0,0 +1,23 @@\n+checkout.defaultRemote::\n+\tWhen you run 'git checkout <something>' and only have one\n+\tremote, it may implicitly fall back on checking out and\n+\ttracking e.g. 'origin/<something>'. This stops working as soon\n+\tas you have more than one remote with a '<something>'\n+\treference. This setting allows for setting the name of a\n+\tpreferred remote that should always win when it comes to\n+\tdisambiguation. The typical use-case is to set this to\n+\t`origin`.\n++\n+Currently this is used by linkgit:git-checkout[1] when 'git checkout\n+<something>' will checkout the '<something>' branch on another remote,\n+and by linkgit:git-worktree[1] when 'git worktree add' refers to a\n+remote branch. This setting might be used for other checkout-like\n+commands or functionality in the future.\n+\n+checkout.optimizeNewBranch::\n+\tOptimizes the performance of \"git checkout -b <new_branch>\" when\n+\tusing sparse-checkout.  When set to true, git will not update the\n+\trepo based on the current sparse-checkout settings.  This means it\n+\twill not update the skip-worktree bit in the index nor add/remove\n+\tfiles in the working directory to reflect the current sparse checkout\n+\tsettings nor will it show the local changes.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361676","messageId":"20181027062351.30446-13-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 12/78] config.txt: move clean.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:45Z","receivedAt":"2018-10-27T06:24:13Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt       | 4 +---\n Documentation/config/clean.txt | 3 +++\n 2 files changed, 4 insertions(+), 3 deletions(-)\n create mode 100644 Documentation/config/clean.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex a473ddc3c3..b5efac8cc5 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -307,9 +307,7 @@ include::config/browser.txt[]\n \n include::config/checkout.txt[]\n \n-clean.requireForce::\n-\tA boolean to make git-clean do nothing unless given -f,\n-\t-i or -n.   Defaults to true.\n+include::config/clean.txt[]\n \n color.advice::\n \tA boolean to enable/disable color in hints (e.g. when a push\ndiff --git a/Documentation/config/clean.txt b/Documentation/config/clean.txt\nnew file mode 100644\nindex 0000000000..a807c925b9\n--- /dev/null\n+++ b/Documentation/config/clean.txt\n@@ -0,0 +1,3 @@\n+clean.requireForce::\n+\tA boolean to make git-clean do nothing unless given -f,\n+\t-i or -n.   Defaults to true.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361678","messageId":"20181027062351.30446-11-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 10/78] config.txt: move browser.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:43Z","receivedAt":"2018-10-27T06:24:14Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt         | 10 +---------\n Documentation/config/browser.txt |  9 +++++++++\n 2 files changed, 10 insertions(+), 9 deletions(-)\n create mode 100644 Documentation/config/browser.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 3dc7dd6cdb..47eb119976 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -303,15 +303,7 @@ include::config/blame.txt[]\n \n include::config/branch.txt[]\n \n-browser.<tool>.cmd::\n-\tSpecify the command to invoke the specified browser. The\n-\tspecified command is evaluated in shell with the URLs passed\n-\tas arguments. (See linkgit:git-web{litdd}browse[1].)\n-\n-browser.<tool>.path::\n-\tOverride the path for the given tool that may be used to\n-\tbrowse HTML help (see `-w` option in linkgit:git-help[1]) or a\n-\tworking repository in gitweb (see linkgit:git-instaweb[1]).\n+include::config/browser.txt[]\n \n checkout.defaultRemote::\n \tWhen you run 'git checkout <something>' and only have one\ndiff --git a/Documentation/config/browser.txt b/Documentation/config/browser.txt\nnew file mode 100644\nindex 0000000000..195df207a6\n--- /dev/null\n+++ b/Documentation/config/browser.txt\n@@ -0,0 +1,9 @@\n+browser.<tool>.cmd::\n+\tSpecify the command to invoke the specified browser. The\n+\tspecified command is evaluated in shell with the URLs passed\n+\tas arguments. (See linkgit:git-web{litdd}browse[1].)\n+\n+browser.<tool>.path::\n+\tOverride the path for the given tool that may be used to\n+\tbrowse HTML help (see `-w` option in linkgit:git-help[1]) or a\n+\tworking repository in gitweb (see linkgit:git-instaweb[1]).\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361679","messageId":"20181027062351.30446-15-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 14/78] config.txt: move column.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:47Z","receivedAt":"2018-10-27T06:24:16Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt        | 56 +--------------------------------\n Documentation/config/column.txt | 55 ++++++++++++++++++++++++++++++++\n 2 files changed, 56 insertions(+), 55 deletions(-)\n create mode 100644 Documentation/config/column.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 399c23e0c5..0618a7d974 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -311,61 +311,7 @@ include::config/clean.txt[]\n \n include::config/color.txt[]\n \n-column.ui::\n-\tSpecify whether supported commands should output in columns.\n-\tThis variable consists of a list of tokens separated by spaces\n-\tor commas:\n-+\n-These options control when the feature should be enabled\n-(defaults to 'never'):\n-+\n---\n-`always`;;\n-\talways show in columns\n-`never`;;\n-\tnever show in columns\n-`auto`;;\n-\tshow in columns if the output is to the terminal\n---\n-+\n-These options control layout (defaults to 'column').  Setting any\n-of these implies 'always' if none of 'always', 'never', or 'auto' are\n-specified.\n-+\n---\n-`column`;;\n-\tfill columns before rows\n-`row`;;\n-\tfill rows before columns\n-`plain`;;\n-\tshow in one column\n---\n-+\n-Finally, these options can be combined with a layout option (defaults\n-to 'nodense'):\n-+\n---\n-`dense`;;\n-\tmake unequal size columns to utilize more space\n-`nodense`;;\n-\tmake equal size columns\n---\n-\n-column.branch::\n-\tSpecify whether to output branch listing in `git branch` in columns.\n-\tSee `column.ui` for details.\n-\n-column.clean::\n-\tSpecify the layout when list items in `git clean -i`, which always\n-\tshows files and directories in columns. See `column.ui` for details.\n-\n-column.status::\n-\tSpecify whether to output untracked files in `git status` in columns.\n-\tSee `column.ui` for details.\n-\n-column.tag::\n-\tSpecify whether to output tag listing in `git tag` in columns.\n-\tSee `column.ui` for details.\n+include::config/column.txt[]\n \n commit.cleanup::\n \tThis setting overrides the default of the `--cleanup` option in\ndiff --git a/Documentation/config/column.txt b/Documentation/config/column.txt\nnew file mode 100644\nindex 0000000000..76aa2f29dc\n--- /dev/null\n+++ b/Documentation/config/column.txt\n@@ -0,0 +1,55 @@\n+column.ui::\n+\tSpecify whether supported commands should output in columns.\n+\tThis variable consists of a list of tokens separated by spaces\n+\tor commas:\n++\n+These options control when the feature should be enabled\n+(defaults to 'never'):\n++\n+--\n+`always`;;\n+\talways show in columns\n+`never`;;\n+\tnever show in columns\n+`auto`;;\n+\tshow in columns if the output is to the terminal\n+--\n++\n+These options control layout (defaults to 'column').  Setting any\n+of these implies 'always' if none of 'always', 'never', or 'auto' are\n+specified.\n++\n+--\n+`column`;;\n+\tfill columns before rows\n+`row`;;\n+\tfill rows before columns\n+`plain`;;\n+\tshow in one column\n+--\n++\n+Finally, these options can be combined with a layout option (defaults\n+to 'nodense'):\n++\n+--\n+`dense`;;\n+\tmake unequal size columns to utilize more space\n+`nodense`;;\n+\tmake equal size columns\n+--\n+\n+column.branch::\n+\tSpecify whether to output branch listing in `git branch` in columns.\n+\tSee `column.ui` for details.\n+\n+column.clean::\n+\tSpecify the layout when list items in `git clean -i`, which always\n+\tshows files and directories in columns. See `column.ui` for details.\n+\n+column.status::\n+\tSpecify whether to output untracked files in `git status` in columns.\n+\tSee `column.ui` for details.\n+\n+column.tag::\n+\tSpecify whether to output tag listing in `git tag` in columns.\n+\tSee `column.ui` for details.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361681","messageId":"20181027062351.30446-14-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 13/78] config.txt: move color.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:46Z","receivedAt":"2018-10-27T06:24:18Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt       | 202 +--------------------------------\n Documentation/config/color.txt | 201 ++++++++++++++++++++++++++++++++\n 2 files changed, 202 insertions(+), 201 deletions(-)\n create mode 100644 Documentation/config/color.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex b5efac8cc5..399c23e0c5 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -309,207 +309,7 @@ include::config/checkout.txt[]\n \n include::config/clean.txt[]\n \n-color.advice::\n-\tA boolean to enable/disable color in hints (e.g. when a push\n-\tfailed, see `advice.*` for a list).  May be set to `always`,\n-\t`false` (or `never`) or `auto` (or `true`), in which case colors\n-\tare used only when the error output goes to a terminal. If\n-\tunset, then the value of `color.ui` is used (`auto` by default).\n-\n-color.advice.hint::\n-\tUse customized color for hints.\n-\n-color.blame.highlightRecent::\n-\tThis can be used to color the metadata of a blame line depending\n-\ton age of the line.\n-+\n-This setting should be set to a comma-separated list of color and date settings,\n-starting and ending with a color, the dates should be set from oldest to newest.\n-The metadata will be colored given the colors if the the line was introduced\n-before the given timestamp, overwriting older timestamped colors.\n-+\n-Instead of an absolute timestamp relative timestamps work as well, e.g.\n-2.weeks.ago is valid to address anything older than 2 weeks.\n-+\n-It defaults to 'blue,12 month ago,white,1 month ago,red', which colors\n-everything older than one year blue, recent changes between one month and\n-one year old are kept white, and lines introduced within the last month are\n-colored red.\n-\n-color.blame.repeatedLines::\n-\tUse the customized color for the part of git-blame output that\n-\tis repeated meta information per line (such as commit id,\n-\tauthor name, date and timezone). Defaults to cyan.\n-\n-color.branch::\n-\tA boolean to enable/disable color in the output of\n-\tlinkgit:git-branch[1]. May be set to `always`,\n-\t`false` (or `never`) or `auto` (or `true`), in which case colors are used\n-\tonly when the output is to a terminal. If unset, then the\n-\tvalue of `color.ui` is used (`auto` by default).\n-\n-color.branch.<slot>::\n-\tUse customized color for branch coloration. `<slot>` is one of\n-\t`current` (the current branch), `local` (a local branch),\n-\t`remote` (a remote-tracking branch in refs/remotes/),\n-\t`upstream` (upstream tracking branch), `plain` (other\n-\trefs).\n-\n-color.diff::\n-\tWhether to use ANSI escape sequences to add color to patches.\n-\tIf this is set to `always`, linkgit:git-diff[1],\n-\tlinkgit:git-log[1], and linkgit:git-show[1] will use color\n-\tfor all patches.  If it is set to `true` or `auto`, those\n-\tcommands will only use color when output is to the terminal.\n-\tIf unset, then the value of `color.ui` is used (`auto` by\n-\tdefault).\n-+\n-This does not affect linkgit:git-format-patch[1] or the\n-'git-diff-{asterisk}' plumbing commands.  Can be overridden on the\n-command line with the `--color[=<when>]` option.\n-\n-color.diff.<slot>::\n-\tUse customized color for diff colorization.  `<slot>` specifies\n-\twhich part of the patch to use the specified color, and is one\n-\tof `context` (context text - `plain` is a historical synonym),\n-\t`meta` (metainformation), `frag`\n-\t(hunk header), 'func' (function in hunk header), `old` (removed lines),\n-\t`new` (added lines), `commit` (commit headers), `whitespace`\n-\t(highlighting whitespace errors), `oldMoved` (deleted lines),\n-\t`newMoved` (added lines), `oldMovedDimmed`, `oldMovedAlternative`,\n-\t`oldMovedAlternativeDimmed`, `newMovedDimmed`, `newMovedAlternative`\n-\t`newMovedAlternativeDimmed` (See the '<mode>'\n-\tsetting of '--color-moved' in linkgit:git-diff[1] for details),\n-\t`contextDimmed`, `oldDimmed`, `newDimmed`, `contextBold`,\n-\t`oldBold`, and `newBold` (see linkgit:git-range-diff[1] for details).\n-\n-color.decorate.<slot>::\n-\tUse customized color for 'git log --decorate' output.  `<slot>` is one\n-\tof `branch`, `remoteBranch`, `tag`, `stash` or `HEAD` for local\n-\tbranches, remote-tracking branches, tags, stash and HEAD, respectively\n-\tand `grafted` for grafted commits.\n-\n-color.grep::\n-\tWhen set to `always`, always highlight matches.  When `false` (or\n-\t`never`), never.  When set to `true` or `auto`, use color only\n-\twhen the output is written to the terminal.  If unset, then the\n-\tvalue of `color.ui` is used (`auto` by default).\n-\n-color.grep.<slot>::\n-\tUse customized color for grep colorization.  `<slot>` specifies which\n-\tpart of the line to use the specified color, and is one of\n-+\n---\n-`context`;;\n-\tnon-matching text in context lines (when using `-A`, `-B`, or `-C`)\n-`filename`;;\n-\tfilename prefix (when not using `-h`)\n-`function`;;\n-\tfunction name lines (when using `-p`)\n-`lineNumber`;;\n-\tline number prefix (when using `-n`)\n-`column`;;\n-\tcolumn number prefix (when using `--column`)\n-`match`;;\n-\tmatching text (same as setting `matchContext` and `matchSelected`)\n-`matchContext`;;\n-\tmatching text in context lines\n-`matchSelected`;;\n-\tmatching text in selected lines\n-`selected`;;\n-\tnon-matching text in selected lines\n-`separator`;;\n-\tseparators between fields on a line (`:`, `-`, and `=`)\n-\tand between hunks (`--`)\n---\n-\n-color.interactive::\n-\tWhen set to `always`, always use colors for interactive prompts\n-\tand displays (such as those used by \"git-add --interactive\" and\n-\t\"git-clean --interactive\"). When false (or `never`), never.\n-\tWhen set to `true` or `auto`, use colors only when the output is\n-\tto the terminal. If unset, then the value of `color.ui` is\n-\tused (`auto` by default).\n-\n-color.interactive.<slot>::\n-\tUse customized color for 'git add --interactive' and 'git clean\n-\t--interactive' output. `<slot>` may be `prompt`, `header`, `help`\n-\tor `error`, for four distinct types of normal output from\n-\tinteractive commands.\n-\n-color.pager::\n-\tA boolean to enable/disable colored output when the pager is in\n-\tuse (default is true).\n-\n-color.push::\n-\tA boolean to enable/disable color in push errors. May be set to\n-\t`always`, `false` (or `never`) or `auto` (or `true`), in which\n-\tcase colors are used only when the error output goes to a terminal.\n-\tIf unset, then the value of `color.ui` is used (`auto` by default).\n-\n-color.push.error::\n-\tUse customized color for push errors.\n-\n-color.remote::\n-\tIf set, keywords at the start of the line are highlighted. The\n-\tkeywords are \"error\", \"warning\", \"hint\" and \"success\", and are\n-\tmatched case-insensitively. May be set to `always`, `false` (or\n-\t`never`) or `auto` (or `true`). If unset, then the value of\n-\t`color.ui` is used (`auto` by default).\n-\n-color.remote.<slot>::\n-\tUse customized color for each remote keyword. `<slot>` may be\n-\t`hint`, `warning`, `success` or `error` which match the\n-\tcorresponding keyword.\n-\n-color.showBranch::\n-\tA boolean to enable/disable color in the output of\n-\tlinkgit:git-show-branch[1]. May be set to `always`,\n-\t`false` (or `never`) or `auto` (or `true`), in which case colors are used\n-\tonly when the output is to a terminal. If unset, then the\n-\tvalue of `color.ui` is used (`auto` by default).\n-\n-color.status::\n-\tA boolean to enable/disable color in the output of\n-\tlinkgit:git-status[1]. May be set to `always`,\n-\t`false` (or `never`) or `auto` (or `true`), in which case colors are used\n-\tonly when the output is to a terminal. If unset, then the\n-\tvalue of `color.ui` is used (`auto` by default).\n-\n-color.status.<slot>::\n-\tUse customized color for status colorization. `<slot>` is\n-\tone of `header` (the header text of the status message),\n-\t`added` or `updated` (files which are added but not committed),\n-\t`changed` (files which are changed but not added in the index),\n-\t`untracked` (files which are not tracked by Git),\n-\t`branch` (the current branch),\n-\t`nobranch` (the color the 'no branch' warning is shown in, defaulting\n-\tto red),\n-\t`localBranch` or `remoteBranch` (the local and remote branch names,\n-\trespectively, when branch and tracking information is displayed in the\n-\tstatus short-format), or\n-\t`unmerged` (files which have unmerged changes).\n-\n-color.transport::\n-\tA boolean to enable/disable color when pushes are rejected. May be\n-\tset to `always`, `false` (or `never`) or `auto` (or `true`), in which\n-\tcase colors are used only when the error output goes to a terminal.\n-\tIf unset, then the value of `color.ui` is used (`auto` by default).\n-\n-color.transport.rejected::\n-\tUse customized color when a push was rejected.\n-\n-color.ui::\n-\tThis variable determines the default value for variables such\n-\tas `color.diff` and `color.grep` that control the use of color\n-\tper command family. Its scope will expand as more commands learn\n-\tconfiguration to set a default for the `--color` option.  Set it\n-\tto `false` or `never` if you prefer Git commands not to use\n-\tcolor unless enabled explicitly with some other configuration\n-\tor the `--color` option. Set it to `always` if you want all\n-\toutput not intended for machine consumption to use color, to\n-\t`true` or `auto` (this is the default since Git 1.8.4) if you\n-\twant such output to use color when written to the terminal.\n+include::config/color.txt[]\n \n column.ui::\n \tSpecify whether supported commands should output in columns.\ndiff --git a/Documentation/config/color.txt b/Documentation/config/color.txt\nnew file mode 100644\nindex 0000000000..8375596c44\n--- /dev/null\n+++ b/Documentation/config/color.txt\n@@ -0,0 +1,201 @@\n+color.advice::\n+\tA boolean to enable/disable color in hints (e.g. when a push\n+\tfailed, see `advice.*` for a list).  May be set to `always`,\n+\t`false` (or `never`) or `auto` (or `true`), in which case colors\n+\tare used only when the error output goes to a terminal. If\n+\tunset, then the value of `color.ui` is used (`auto` by default).\n+\n+color.advice.hint::\n+\tUse customized color for hints.\n+\n+color.blame.highlightRecent::\n+\tThis can be used to color the metadata of a blame line depending\n+\ton age of the line.\n++\n+This setting should be set to a comma-separated list of color and date settings,\n+starting and ending with a color, the dates should be set from oldest to newest.\n+The metadata will be colored given the colors if the the line was introduced\n+before the given timestamp, overwriting older timestamped colors.\n++\n+Instead of an absolute timestamp relative timestamps work as well, e.g.\n+2.weeks.ago is valid to address anything older than 2 weeks.\n++\n+It defaults to 'blue,12 month ago,white,1 month ago,red', which colors\n+everything older than one year blue, recent changes between one month and\n+one year old are kept white, and lines introduced within the last month are\n+colored red.\n+\n+color.blame.repeatedLines::\n+\tUse the customized color for the part of git-blame output that\n+\tis repeated meta information per line (such as commit id,\n+\tauthor name, date and timezone). Defaults to cyan.\n+\n+color.branch::\n+\tA boolean to enable/disable color in the output of\n+\tlinkgit:git-branch[1]. May be set to `always`,\n+\t`false` (or `never`) or `auto` (or `true`), in which case colors are used\n+\tonly when the output is to a terminal. If unset, then the\n+\tvalue of `color.ui` is used (`auto` by default).\n+\n+color.branch.<slot>::\n+\tUse customized color for branch coloration. `<slot>` is one of\n+\t`current` (the current branch), `local` (a local branch),\n+\t`remote` (a remote-tracking branch in refs/remotes/),\n+\t`upstream` (upstream tracking branch), `plain` (other\n+\trefs).\n+\n+color.diff::\n+\tWhether to use ANSI escape sequences to add color to patches.\n+\tIf this is set to `always`, linkgit:git-diff[1],\n+\tlinkgit:git-log[1], and linkgit:git-show[1] will use color\n+\tfor all patches.  If it is set to `true` or `auto`, those\n+\tcommands will only use color when output is to the terminal.\n+\tIf unset, then the value of `color.ui` is used (`auto` by\n+\tdefault).\n++\n+This does not affect linkgit:git-format-patch[1] or the\n+'git-diff-{asterisk}' plumbing commands.  Can be overridden on the\n+command line with the `--color[=<when>]` option.\n+\n+color.diff.<slot>::\n+\tUse customized color for diff colorization.  `<slot>` specifies\n+\twhich part of the patch to use the specified color, and is one\n+\tof `context` (context text - `plain` is a historical synonym),\n+\t`meta` (metainformation), `frag`\n+\t(hunk header), 'func' (function in hunk header), `old` (removed lines),\n+\t`new` (added lines), `commit` (commit headers), `whitespace`\n+\t(highlighting whitespace errors), `oldMoved` (deleted lines),\n+\t`newMoved` (added lines), `oldMovedDimmed`, `oldMovedAlternative`,\n+\t`oldMovedAlternativeDimmed`, `newMovedDimmed`, `newMovedAlternative`\n+\t`newMovedAlternativeDimmed` (See the '<mode>'\n+\tsetting of '--color-moved' in linkgit:git-diff[1] for details),\n+\t`contextDimmed`, `oldDimmed`, `newDimmed`, `contextBold`,\n+\t`oldBold`, and `newBold` (see linkgit:git-range-diff[1] for details).\n+\n+color.decorate.<slot>::\n+\tUse customized color for 'git log --decorate' output.  `<slot>` is one\n+\tof `branch`, `remoteBranch`, `tag`, `stash` or `HEAD` for local\n+\tbranches, remote-tracking branches, tags, stash and HEAD, respectively\n+\tand `grafted` for grafted commits.\n+\n+color.grep::\n+\tWhen set to `always`, always highlight matches.  When `false` (or\n+\t`never`), never.  When set to `true` or `auto`, use color only\n+\twhen the output is written to the terminal.  If unset, then the\n+\tvalue of `color.ui` is used (`auto` by default).\n+\n+color.grep.<slot>::\n+\tUse customized color for grep colorization.  `<slot>` specifies which\n+\tpart of the line to use the specified color, and is one of\n++\n+--\n+`context`;;\n+\tnon-matching text in context lines (when using `-A`, `-B`, or `-C`)\n+`filename`;;\n+\tfilename prefix (when not using `-h`)\n+`function`;;\n+\tfunction name lines (when using `-p`)\n+`lineNumber`;;\n+\tline number prefix (when using `-n`)\n+`column`;;\n+\tcolumn number prefix (when using `--column`)\n+`match`;;\n+\tmatching text (same as setting `matchContext` and `matchSelected`)\n+`matchContext`;;\n+\tmatching text in context lines\n+`matchSelected`;;\n+\tmatching text in selected lines\n+`selected`;;\n+\tnon-matching text in selected lines\n+`separator`;;\n+\tseparators between fields on a line (`:`, `-`, and `=`)\n+\tand between hunks (`--`)\n+--\n+\n+color.interactive::\n+\tWhen set to `always`, always use colors for interactive prompts\n+\tand displays (such as those used by \"git-add --interactive\" and\n+\t\"git-clean --interactive\"). When false (or `never`), never.\n+\tWhen set to `true` or `auto`, use colors only when the output is\n+\tto the terminal. If unset, then the value of `color.ui` is\n+\tused (`auto` by default).\n+\n+color.interactive.<slot>::\n+\tUse customized color for 'git add --interactive' and 'git clean\n+\t--interactive' output. `<slot>` may be `prompt`, `header`, `help`\n+\tor `error`, for four distinct types of normal output from\n+\tinteractive commands.\n+\n+color.pager::\n+\tA boolean to enable/disable colored output when the pager is in\n+\tuse (default is true).\n+\n+color.push::\n+\tA boolean to enable/disable color in push errors. May be set to\n+\t`always`, `false` (or `never`) or `auto` (or `true`), in which\n+\tcase colors are used only when the error output goes to a terminal.\n+\tIf unset, then the value of `color.ui` is used (`auto` by default).\n+\n+color.push.error::\n+\tUse customized color for push errors.\n+\n+color.remote::\n+\tIf set, keywords at the start of the line are highlighted. The\n+\tkeywords are \"error\", \"warning\", \"hint\" and \"success\", and are\n+\tmatched case-insensitively. May be set to `always`, `false` (or\n+\t`never`) or `auto` (or `true`). If unset, then the value of\n+\t`color.ui` is used (`auto` by default).\n+\n+color.remote.<slot>::\n+\tUse customized color for each remote keyword. `<slot>` may be\n+\t`hint`, `warning`, `success` or `error` which match the\n+\tcorresponding keyword.\n+\n+color.showBranch::\n+\tA boolean to enable/disable color in the output of\n+\tlinkgit:git-show-branch[1]. May be set to `always`,\n+\t`false` (or `never`) or `auto` (or `true`), in which case colors are used\n+\tonly when the output is to a terminal. If unset, then the\n+\tvalue of `color.ui` is used (`auto` by default).\n+\n+color.status::\n+\tA boolean to enable/disable color in the output of\n+\tlinkgit:git-status[1]. May be set to `always`,\n+\t`false` (or `never`) or `auto` (or `true`), in which case colors are used\n+\tonly when the output is to a terminal. If unset, then the\n+\tvalue of `color.ui` is used (`auto` by default).\n+\n+color.status.<slot>::\n+\tUse customized color for status colorization. `<slot>` is\n+\tone of `header` (the header text of the status message),\n+\t`added` or `updated` (files which are added but not committed),\n+\t`changed` (files which are changed but not added in the index),\n+\t`untracked` (files which are not tracked by Git),\n+\t`branch` (the current branch),\n+\t`nobranch` (the color the 'no branch' warning is shown in, defaulting\n+\tto red),\n+\t`localBranch` or `remoteBranch` (the local and remote branch names,\n+\trespectively, when branch and tracking information is displayed in the\n+\tstatus short-format), or\n+\t`unmerged` (files which have unmerged changes).\n+\n+color.transport::\n+\tA boolean to enable/disable color when pushes are rejected. May be\n+\tset to `always`, `false` (or `never`) or `auto` (or `true`), in which\n+\tcase colors are used only when the error output goes to a terminal.\n+\tIf unset, then the value of `color.ui` is used (`auto` by default).\n+\n+color.transport.rejected::\n+\tUse customized color when a push was rejected.\n+\n+color.ui::\n+\tThis variable determines the default value for variables such\n+\tas `color.diff` and `color.grep` that control the use of color\n+\tper command family. Its scope will expand as more commands learn\n+\tconfiguration to set a default for the `--color` option.  Set it\n+\tto `false` or `never` if you prefer Git commands not to use\n+\tcolor unless enabled explicitly with some other configuration\n+\tor the `--color` option. Set it to `always` if you want all\n+\toutput not intended for machine consumption to use color, to\n+\t`true` or `auto` (this is the default since Git 1.8.4) if you\n+\twant such output to use color when written to the terminal.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361680","messageId":"20181027062351.30446-16-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 15/78] config.txt: move commit.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:48Z","receivedAt":"2018-10-27T06:24:19Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt        | 30 +-----------------------------\n Documentation/config/commit.txt | 29 +++++++++++++++++++++++++++++\n 2 files changed, 30 insertions(+), 29 deletions(-)\n create mode 100644 Documentation/config/commit.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 0618a7d974..bbae7e68bd 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -313,35 +313,7 @@ include::config/color.txt[]\n \n include::config/column.txt[]\n \n-commit.cleanup::\n-\tThis setting overrides the default of the `--cleanup` option in\n-\t`git commit`. See linkgit:git-commit[1] for details. Changing the\n-\tdefault can be useful when you always want to keep lines that begin\n-\twith comment character `#` in your log message, in which case you\n-\twould do `git config commit.cleanup whitespace` (note that you will\n-\thave to remove the help lines that begin with `#` in the commit log\n-\ttemplate yourself, if you do this).\n-\n-commit.gpgSign::\n-\n-\tA boolean to specify whether all commits should be GPG signed.\n-\tUse of this option when doing operations such as rebase can\n-\tresult in a large number of commits being signed. It may be\n-\tconvenient to use an agent to avoid typing your GPG passphrase\n-\tseveral times.\n-\n-commit.status::\n-\tA boolean to enable/disable inclusion of status information in the\n-\tcommit message template when using an editor to prepare the commit\n-\tmessage.  Defaults to true.\n-\n-commit.template::\n-\tSpecify the pathname of a file to use as the template for\n-\tnew commit messages.\n-\n-commit.verbose::\n-\tA boolean or int to specify the level of verbose with `git commit`.\n-\tSee linkgit:git-commit[1].\n+include::config/commit.txt[]\n \n credential.helper::\n \tSpecify an external helper to be called when a username or\ndiff --git a/Documentation/config/commit.txt b/Documentation/config/commit.txt\nnew file mode 100644\nindex 0000000000..2c95573930\n--- /dev/null\n+++ b/Documentation/config/commit.txt\n@@ -0,0 +1,29 @@\n+commit.cleanup::\n+\tThis setting overrides the default of the `--cleanup` option in\n+\t`git commit`. See linkgit:git-commit[1] for details. Changing the\n+\tdefault can be useful when you always want to keep lines that begin\n+\twith comment character `#` in your log message, in which case you\n+\twould do `git config commit.cleanup whitespace` (note that you will\n+\thave to remove the help lines that begin with `#` in the commit log\n+\ttemplate yourself, if you do this).\n+\n+commit.gpgSign::\n+\n+\tA boolean to specify whether all commits should be GPG signed.\n+\tUse of this option when doing operations such as rebase can\n+\tresult in a large number of commits being signed. It may be\n+\tconvenient to use an agent to avoid typing your GPG passphrase\n+\tseveral times.\n+\n+commit.status::\n+\tA boolean to enable/disable inclusion of status information in the\n+\tcommit message template when using an editor to prepare the commit\n+\tmessage.  Defaults to true.\n+\n+commit.template::\n+\tSpecify the pathname of a file to use as the template for\n+\tnew commit messages.\n+\n+commit.verbose::\n+\tA boolean or int to specify the level of verbose with `git commit`.\n+\tSee linkgit:git-commit[1].\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361682","messageId":"20181027062351.30446-17-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 16/78] config.txt: move credential.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:49Z","receivedAt":"2018-10-27T06:24:20Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt            | 27 +--------------------------\n Documentation/config/credential.txt | 26 ++++++++++++++++++++++++++\n 2 files changed, 27 insertions(+), 26 deletions(-)\n create mode 100644 Documentation/config/credential.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex bbae7e68bd..2c21a5f366 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -315,32 +315,7 @@ include::config/column.txt[]\n \n include::config/commit.txt[]\n \n-credential.helper::\n-\tSpecify an external helper to be called when a username or\n-\tpassword credential is needed; the helper may consult external\n-\tstorage to avoid prompting the user for the credentials. Note\n-\tthat multiple helpers may be defined. See linkgit:gitcredentials[7]\n-\tfor details.\n-\n-credential.useHttpPath::\n-\tWhen acquiring credentials, consider the \"path\" component of an http\n-\tor https URL to be important. Defaults to false. See\n-\tlinkgit:gitcredentials[7] for more information.\n-\n-credential.username::\n-\tIf no username is set for a network authentication, use this username\n-\tby default. See credential.<context>.* below, and\n-\tlinkgit:gitcredentials[7].\n-\n-credential.<url>.*::\n-\tAny of the credential.* options above can be applied selectively to\n-\tsome credentials. For example \"credential.https://example.com.username\"\n-\twould set the default username only for https connections to\n-\texample.com. See linkgit:gitcredentials[7] for details on how URLs are\n-\tmatched.\n-\n-credentialCache.ignoreSIGHUP::\n-\tTell git-credential-cache--daemon to ignore SIGHUP, instead of quitting.\n+include::config/credential.txt[]\n \n completion.commands::\n \tThis is only used by git-completion.bash to add or remove\ndiff --git a/Documentation/config/credential.txt b/Documentation/config/credential.txt\nnew file mode 100644\nindex 0000000000..60fb3189e1\n--- /dev/null\n+++ b/Documentation/config/credential.txt\n@@ -0,0 +1,26 @@\n+credential.helper::\n+\tSpecify an external helper to be called when a username or\n+\tpassword credential is needed; the helper may consult external\n+\tstorage to avoid prompting the user for the credentials. Note\n+\tthat multiple helpers may be defined. See linkgit:gitcredentials[7]\n+\tfor details.\n+\n+credential.useHttpPath::\n+\tWhen acquiring credentials, consider the \"path\" component of an http\n+\tor https URL to be important. Defaults to false. See\n+\tlinkgit:gitcredentials[7] for more information.\n+\n+credential.username::\n+\tIf no username is set for a network authentication, use this username\n+\tby default. See credential.<context>.* below, and\n+\tlinkgit:gitcredentials[7].\n+\n+credential.<url>.*::\n+\tAny of the credential.* options above can be applied selectively to\n+\tsome credentials. For example \"credential.https://example.com.username\"\n+\twould set the default username only for https connections to\n+\texample.com. See linkgit:gitcredentials[7] for details on how URLs are\n+\tmatched.\n+\n+credentialCache.ignoreSIGHUP::\n+\tTell git-credential-cache--daemon to ignore SIGHUP, instead of quitting.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361683","messageId":"20181027062351.30446-18-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 17/78] config.txt: move completion.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:50Z","receivedAt":"2018-10-27T06:24:22Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt            | 8 +-------\n Documentation/config/completion.txt | 7 +++++++\n 2 files changed, 8 insertions(+), 7 deletions(-)\n create mode 100644 Documentation/config/completion.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 2c21a5f366..83f5ce9056 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -317,13 +317,7 @@ include::config/commit.txt[]\n \n include::config/credential.txt[]\n \n-completion.commands::\n-\tThis is only used by git-completion.bash to add or remove\n-\tcommands from the list of completed commands. Normally only\n-\tporcelain commands and a few select others are completed. You\n-\tcan add more commands, separated by space, in this\n-\tvariable. Prefixing the command with '-' will remove it from\n-\tthe existing list.\n+include::config/completion.txt[]\n \n include::diff-config.txt[]\n \ndiff --git a/Documentation/config/completion.txt b/Documentation/config/completion.txt\nnew file mode 100644\nindex 0000000000..4d99bf33c9\n--- /dev/null\n+++ b/Documentation/config/completion.txt\n@@ -0,0 +1,7 @@\n+completion.commands::\n+\tThis is only used by git-completion.bash to add or remove\n+\tcommands from the list of completed commands. Normally only\n+\tporcelain commands and a few select others are completed. You\n+\tcan add more commands, separated by space, in this\n+\tvariable. Prefixing the command with '-' will remove it from\n+\tthe existing list.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361685","messageId":"20181027062351.30446-19-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 18/78] config.txt: move diff-config.txt to config/","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:51Z","receivedAt":"2018-10-27T06:24:23Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt                           | 2 +-\n Documentation/{diff-config.txt => config/diff.txt} | 2 +-\n 2 files changed, 2 insertions(+), 2 deletions(-)\n rename Documentation/{diff-config.txt => config/diff.txt} (99%)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 83f5ce9056..5693ce7654 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -319,7 +319,7 @@ include::config/credential.txt[]\n \n include::config/completion.txt[]\n \n-include::diff-config.txt[]\n+include::config/diff.txt[]\n \n difftool.<tool>.path::\n \tOverride the path for the given tool.  This is useful in case\ndiff --git a/Documentation/diff-config.txt b/Documentation/config/diff.txt\nsimilarity index 99%\nrename from Documentation/diff-config.txt\nrename to Documentation/config/diff.txt\nindex 85bca83c30..e4db77bc82 100644\n--- a/Documentation/diff-config.txt\n+++ b/Documentation/config/diff.txt\n@@ -177,7 +177,7 @@ diff.tool::\n \tAny other value is treated as a custom diff tool and requires\n \tthat a corresponding difftool.<tool>.cmd variable is defined.\n \n-include::mergetools-diff.txt[]\n+include::../mergetools-diff.txt[]\n \n diff.indentHeuristic::\n \tSet this option to `true` to enable experimental heuristics\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361684","messageId":"20181027062351.30446-21-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 20/78] config.txt: move fastimport.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:53Z","receivedAt":"2018-10-27T06:24:24Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt            | 9 +--------\n Documentation/config/fastimport.txt | 8 ++++++++\n 2 files changed, 9 insertions(+), 8 deletions(-)\n create mode 100644 Documentation/config/fastimport.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex f313c7da2e..92bc420245 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -323,14 +323,7 @@ include::config/diff.txt[]\n \n include::config/difftool.txt[]\n \n-fastimport.unpackLimit::\n-\tIf the number of objects imported by linkgit:git-fast-import[1]\n-\tis below this limit, then the objects will be unpacked into\n-\tloose object files.  However if the number of imported objects\n-\tequals or exceeds this limit then the pack will be stored as a\n-\tpack.  Storing the pack from a fast-import can make the import\n-\toperation complete faster, especially on slow filesystems.  If\n-\tnot set, the value of `transfer.unpackLimit` is used instead.\n+include::config/fastimport.txt[]\n \n include::fetch-config.txt[]\n \ndiff --git a/Documentation/config/fastimport.txt b/Documentation/config/fastimport.txt\nnew file mode 100644\nindex 0000000000..c1166e330d\n--- /dev/null\n+++ b/Documentation/config/fastimport.txt\n@@ -0,0 +1,8 @@\n+fastimport.unpackLimit::\n+\tIf the number of objects imported by linkgit:git-fast-import[1]\n+\tis below this limit, then the objects will be unpacked into\n+\tloose object files.  However if the number of imported objects\n+\tequals or exceeds this limit then the pack will be stored as a\n+\tpack.  Storing the pack from a fast-import can make the import\n+\toperation complete faster, especially on slow filesystems.  If\n+\tnot set, the value of `transfer.unpackLimit` is used instead.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361687","messageId":"20181027062351.30446-20-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 19/78] config.txt: move difftool.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:52Z","receivedAt":"2018-10-27T06:24:24Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt          | 15 +--------------\n Documentation/config/difftool.txt | 14 ++++++++++++++\n 2 files changed, 15 insertions(+), 14 deletions(-)\n create mode 100644 Documentation/config/difftool.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 5693ce7654..f313c7da2e 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -321,20 +321,7 @@ include::config/completion.txt[]\n \n include::config/diff.txt[]\n \n-difftool.<tool>.path::\n-\tOverride the path for the given tool.  This is useful in case\n-\tyour tool is not in the PATH.\n-\n-difftool.<tool>.cmd::\n-\tSpecify the command to invoke the specified diff tool.\n-\tThe specified command is evaluated in shell with the following\n-\tvariables available:  'LOCAL' is set to the name of the temporary\n-\tfile containing the contents of the diff pre-image and 'REMOTE'\n-\tis set to the name of the temporary file containing the contents\n-\tof the diff post-image.\n-\n-difftool.prompt::\n-\tPrompt before each invocation of the diff tool.\n+include::config/difftool.txt[]\n \n fastimport.unpackLimit::\n \tIf the number of objects imported by linkgit:git-fast-import[1]\ndiff --git a/Documentation/config/difftool.txt b/Documentation/config/difftool.txt\nnew file mode 100644\nindex 0000000000..6762594480\n--- /dev/null\n+++ b/Documentation/config/difftool.txt\n@@ -0,0 +1,14 @@\n+difftool.<tool>.path::\n+\tOverride the path for the given tool.  This is useful in case\n+\tyour tool is not in the PATH.\n+\n+difftool.<tool>.cmd::\n+\tSpecify the command to invoke the specified diff tool.\n+\tThe specified command is evaluated in shell with the following\n+\tvariables available:  'LOCAL' is set to the name of the temporary\n+\tfile containing the contents of the diff pre-image and 'REMOTE'\n+\tis set to the name of the temporary file containing the contents\n+\tof the diff post-image.\n+\n+difftool.prompt::\n+\tPrompt before each invocation of the diff tool.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361686","messageId":"20181027062351.30446-22-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 21/78] config.txt: move fetch-config.txt to config/","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:54Z","receivedAt":"2018-10-27T06:24:25Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt                             | 2 +-\n Documentation/{fetch-config.txt => config/fetch.txt} | 0\n 2 files changed, 1 insertion(+), 1 deletion(-)\n rename Documentation/{fetch-config.txt => config/fetch.txt} (100%)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 92bc420245..f85014f803 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -325,7 +325,7 @@ include::config/difftool.txt[]\n \n include::config/fastimport.txt[]\n \n-include::fetch-config.txt[]\n+include::config/fetch.txt[]\n \n include::format-config.txt[]\n \ndiff --git a/Documentation/fetch-config.txt b/Documentation/config/fetch.txt\nsimilarity index 100%\nrename from Documentation/fetch-config.txt\nrename to Documentation/config/fetch.txt\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361688","messageId":"20181027062351.30446-23-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 22/78] config.txt: move filter.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:55Z","receivedAt":"2018-10-27T06:24:26Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt        | 10 +---------\n Documentation/config/filter.txt |  9 +++++++++\n 2 files changed, 10 insertions(+), 9 deletions(-)\n create mode 100644 Documentation/config/filter.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex f85014f803..a225dc530f 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -329,15 +329,7 @@ include::config/fetch.txt[]\n \n include::format-config.txt[]\n \n-filter.<driver>.clean::\n-\tThe command which is used to convert the content of a worktree\n-\tfile to a blob upon checkin.  See linkgit:gitattributes[5] for\n-\tdetails.\n-\n-filter.<driver>.smudge::\n-\tThe command which is used to convert the content of a blob\n-\tobject to a worktree file upon checkout.  See\n-\tlinkgit:gitattributes[5] for details.\n+include::config/filter.txt[]\n \n fsck.<msg-id>::\n \tDuring fsck git may find issues with legacy data which\ndiff --git a/Documentation/config/filter.txt b/Documentation/config/filter.txt\nnew file mode 100644\nindex 0000000000..90dfe0ba5a\n--- /dev/null\n+++ b/Documentation/config/filter.txt\n@@ -0,0 +1,9 @@\n+filter.<driver>.clean::\n+\tThe command which is used to convert the content of a worktree\n+\tfile to a blob upon checkin.  See linkgit:gitattributes[5] for\n+\tdetails.\n+\n+filter.<driver>.smudge::\n+\tThe command which is used to convert the content of a blob\n+\tobject to a worktree file upon checkout.  See\n+\tlinkgit:gitattributes[5] for details.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361689","messageId":"20181027062351.30446-24-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 23/78] config.txt: move format-config.txt to config/","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:56Z","receivedAt":"2018-10-27T06:24:27Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt                               | 2 +-\n Documentation/{format-config.txt => config/format.txt} | 0\n 2 files changed, 1 insertion(+), 1 deletion(-)\n rename Documentation/{format-config.txt => config/format.txt} (100%)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex a225dc530f..3dc2285ba5 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -327,7 +327,7 @@ include::config/fastimport.txt[]\n \n include::config/fetch.txt[]\n \n-include::format-config.txt[]\n+include::config/format.txt[]\n \n include::config/filter.txt[]\n \ndiff --git a/Documentation/format-config.txt b/Documentation/config/format.txt\nsimilarity index 100%\nrename from Documentation/format-config.txt\nrename to Documentation/config/format.txt\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361690","messageId":"20181027062351.30446-25-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 24/78] config.txt: move fmt-merge-msg-config.txt to config/","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:57Z","receivedAt":"2018-10-27T06:24:28Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Note that this file is not directly included in config.txt but through\nmerge-config.txt and it's in \"merge\" section instead of a separate\n\"fmtMergeMsg\" section like others.\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n .../{fmt-merge-msg-config.txt => config/fmt-merge-msg.txt}      | 0\n Documentation/git-fmt-merge-msg.txt                             | 2 +-\n Documentation/merge-config.txt                                  | 2 +-\n 3 files changed, 2 insertions(+), 2 deletions(-)\n rename Documentation/{fmt-merge-msg-config.txt => config/fmt-merge-msg.txt} (100%)\n\ndiff --git a/Documentation/fmt-merge-msg-config.txt b/Documentation/config/fmt-merge-msg.txt\nsimilarity index 100%\nrename from Documentation/fmt-merge-msg-config.txt\nrename to Documentation/config/fmt-merge-msg.txt\ndiff --git a/Documentation/git-fmt-merge-msg.txt b/Documentation/git-fmt-merge-msg.txt\nindex 423b6e033b..6793d8fc05 100644\n--- a/Documentation/git-fmt-merge-msg.txt\n+++ b/Documentation/git-fmt-merge-msg.txt\n@@ -51,7 +51,7 @@ OPTIONS\n \n CONFIGURATION\n -------------\n-include::fmt-merge-msg-config.txt[]\n+include::config/fmt-merge-msg.txt[]\n \n merge.summary::\n \tSynonym to `merge.log`; this is deprecated and will be removed in\ndiff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\nindex 662c2713ca..0bb703fbac 100644\n--- a/Documentation/merge-config.txt\n+++ b/Documentation/merge-config.txt\n@@ -30,7 +30,7 @@ merge.verifySignatures::\n \tIf true, this is equivalent to the --verify-signatures command\n \tline option. See linkgit:git-merge[1] for details.\n \n-include::fmt-merge-msg-config.txt[]\n+include::config/fmt-merge-msg.txt[]\n \n merge.renameLimit::\n \tThe number of files to consider when performing rename detection\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361691","messageId":"20181027062351.30446-26-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 25/78] config.txt: move fsck.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:58Z","receivedAt":"2018-10-27T06:24:30Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt      | 68 +----------------------------------\n Documentation/config/fsck.txt | 67 ++++++++++++++++++++++++++++++++++\n 2 files changed, 68 insertions(+), 67 deletions(-)\n create mode 100644 Documentation/config/fsck.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 3dc2285ba5..f70f95d5cf 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -331,73 +331,7 @@ include::config/format.txt[]\n \n include::config/filter.txt[]\n \n-fsck.<msg-id>::\n-\tDuring fsck git may find issues with legacy data which\n-\twouldn't be generated by current versions of git, and which\n-\twouldn't be sent over the wire if `transfer.fsckObjects` was\n-\tset. This feature is intended to support working with legacy\n-\trepositories containing such data.\n-+\n-Setting `fsck.<msg-id>` will be picked up by linkgit:git-fsck[1], but\n-to accept pushes of such data set `receive.fsck.<msg-id>` instead, or\n-to clone or fetch it set `fetch.fsck.<msg-id>`.\n-+\n-The rest of the documentation discusses `fsck.*` for brevity, but the\n-same applies for the corresponding `receive.fsck.*` and\n-`fetch.<msg-id>.*`. variables.\n-+\n-Unlike variables like `color.ui` and `core.editor` the\n-`receive.fsck.<msg-id>` and `fetch.fsck.<msg-id>` variables will not\n-fall back on the `fsck.<msg-id>` configuration if they aren't set. To\n-uniformly configure the same fsck settings in different circumstances\n-all three of them they must all set to the same values.\n-+\n-When `fsck.<msg-id>` is set, errors can be switched to warnings and\n-vice versa by configuring the `fsck.<msg-id>` setting where the\n-`<msg-id>` is the fsck message ID and the value is one of `error`,\n-`warn` or `ignore`. For convenience, fsck prefixes the error/warning\n-with the message ID, e.g. \"missingEmail: invalid author/committer line\n-- missing email\" means that setting `fsck.missingEmail = ignore` will\n-hide that issue.\n-+\n-In general, it is better to enumerate existing objects with problems\n-with `fsck.skipList`, instead of listing the kind of breakages these\n-problematic objects share to be ignored, as doing the latter will\n-allow new instances of the same breakages go unnoticed.\n-+\n-Setting an unknown `fsck.<msg-id>` value will cause fsck to die, but\n-doing the same for `receive.fsck.<msg-id>` and `fetch.fsck.<msg-id>`\n-will only cause git to warn.\n-\n-fsck.skipList::\n-\tThe path to a list of object names (i.e. one unabbreviated SHA-1 per\n-\tline) that are known to be broken in a non-fatal way and should\n-\tbe ignored. On versions of Git 2.20 and later comments ('#'), empty\n-\tlines, and any leading and trailing whitespace is ignored. Everything\n-\tbut a SHA-1 per line will error out on older versions.\n-+\n-This feature is useful when an established project should be accepted\n-despite early commits containing errors that can be safely ignored\n-such as invalid committer email addresses.  Note: corrupt objects\n-cannot be skipped with this setting.\n-+\n-Like `fsck.<msg-id>` this variable has corresponding\n-`receive.fsck.skipList` and `fetch.fsck.skipList` variants.\n-+\n-Unlike variables like `color.ui` and `core.editor` the\n-`receive.fsck.skipList` and `fetch.fsck.skipList` variables will not\n-fall back on the `fsck.skipList` configuration if they aren't set. To\n-uniformly configure the same fsck settings in different circumstances\n-all three of them they must all set to the same values.\n-+\n-Older versions of Git (before 2.20) documented that the object names\n-list should be sorted. This was never a requirement, the object names\n-could appear in any order, but when reading the list we tracked whether\n-the list was sorted for the purposes of an internal binary search\n-implementation, which could save itself some work with an already sorted\n-list. Unless you had a humongous list there was no reason to go out of\n-your way to pre-sort the list. After Git version 2.20 a hash implementation\n-is used instead, so there's now no reason to pre-sort the list.\n+include::config/fsck.txt[]\n \n gc.aggressiveDepth::\n \tThe depth parameter used in the delta compression\ndiff --git a/Documentation/config/fsck.txt b/Documentation/config/fsck.txt\nnew file mode 100644\nindex 0000000000..879c5a29c4\n--- /dev/null\n+++ b/Documentation/config/fsck.txt\n@@ -0,0 +1,67 @@\n+fsck.<msg-id>::\n+\tDuring fsck git may find issues with legacy data which\n+\twouldn't be generated by current versions of git, and which\n+\twouldn't be sent over the wire if `transfer.fsckObjects` was\n+\tset. This feature is intended to support working with legacy\n+\trepositories containing such data.\n++\n+Setting `fsck.<msg-id>` will be picked up by linkgit:git-fsck[1], but\n+to accept pushes of such data set `receive.fsck.<msg-id>` instead, or\n+to clone or fetch it set `fetch.fsck.<msg-id>`.\n++\n+The rest of the documentation discusses `fsck.*` for brevity, but the\n+same applies for the corresponding `receive.fsck.*` and\n+`fetch.<msg-id>.*`. variables.\n++\n+Unlike variables like `color.ui` and `core.editor` the\n+`receive.fsck.<msg-id>` and `fetch.fsck.<msg-id>` variables will not\n+fall back on the `fsck.<msg-id>` configuration if they aren't set. To\n+uniformly configure the same fsck settings in different circumstances\n+all three of them they must all set to the same values.\n++\n+When `fsck.<msg-id>` is set, errors can be switched to warnings and\n+vice versa by configuring the `fsck.<msg-id>` setting where the\n+`<msg-id>` is the fsck message ID and the value is one of `error`,\n+`warn` or `ignore`. For convenience, fsck prefixes the error/warning\n+with the message ID, e.g. \"missingEmail: invalid author/committer line\n+- missing email\" means that setting `fsck.missingEmail = ignore` will\n+hide that issue.\n++\n+In general, it is better to enumerate existing objects with problems\n+with `fsck.skipList`, instead of listing the kind of breakages these\n+problematic objects share to be ignored, as doing the latter will\n+allow new instances of the same breakages go unnoticed.\n++\n+Setting an unknown `fsck.<msg-id>` value will cause fsck to die, but\n+doing the same for `receive.fsck.<msg-id>` and `fetch.fsck.<msg-id>`\n+will only cause git to warn.\n+\n+fsck.skipList::\n+\tThe path to a list of object names (i.e. one unabbreviated SHA-1 per\n+\tline) that are known to be broken in a non-fatal way and should\n+\tbe ignored. On versions of Git 2.20 and later comments ('#'), empty\n+\tlines, and any leading and trailing whitespace is ignored. Everything\n+\tbut a SHA-1 per line will error out on older versions.\n++\n+This feature is useful when an established project should be accepted\n+despite early commits containing errors that can be safely ignored\n+such as invalid committer email addresses.  Note: corrupt objects\n+cannot be skipped with this setting.\n++\n+Like `fsck.<msg-id>` this variable has corresponding\n+`receive.fsck.skipList` and `fetch.fsck.skipList` variants.\n++\n+Unlike variables like `color.ui` and `core.editor` the\n+`receive.fsck.skipList` and `fetch.fsck.skipList` variables will not\n+fall back on the `fsck.skipList` configuration if they aren't set. To\n+uniformly configure the same fsck settings in different circumstances\n+all three of them they must all set to the same values.\n++\n+Older versions of Git (before 2.20) documented that the object names\n+list should be sorted. This was never a requirement, the object names\n+could appear in any order, but when reading the list we tracked whether\n+the list was sorted for the purposes of an internal binary search\n+implementation, which could save itself some work with an already sorted\n+list. Unless you had a humongous list there was no reason to go out of\n+your way to pre-sort the list. After Git version 2.20 a hash implementation\n+is used instead, so there's now no reason to pre-sort the list.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361692","messageId":"20181027062351.30446-27-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 26/78] config.txt: move gc.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:22:59Z","receivedAt":"2018-10-27T06:24:31Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt    | 109 +-----------------------------------\n Documentation/config/gc.txt | 108 +++++++++++++++++++++++++++++++++++\n 2 files changed, 109 insertions(+), 108 deletions(-)\n create mode 100644 Documentation/config/gc.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex f70f95d5cf..dee012a5d5 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -333,114 +333,7 @@ include::config/filter.txt[]\n \n include::config/fsck.txt[]\n \n-gc.aggressiveDepth::\n-\tThe depth parameter used in the delta compression\n-\talgorithm used by 'git gc --aggressive'.  This defaults\n-\tto 50.\n-\n-gc.aggressiveWindow::\n-\tThe window size parameter used in the delta compression\n-\talgorithm used by 'git gc --aggressive'.  This defaults\n-\tto 250.\n-\n-gc.auto::\n-\tWhen there are approximately more than this many loose\n-\tobjects in the repository, `git gc --auto` will pack them.\n-\tSome Porcelain commands use this command to perform a\n-\tlight-weight garbage collection from time to time.  The\n-\tdefault value is 6700.  Setting this to 0 disables it.\n-\n-gc.autoPackLimit::\n-\tWhen there are more than this many packs that are not\n-\tmarked with `*.keep` file in the repository, `git gc\n-\t--auto` consolidates them into one larger pack.  The\n-\tdefault\tvalue is 50.  Setting this to 0 disables it.\n-\n-gc.autoDetach::\n-\tMake `git gc --auto` return immediately and run in background\n-\tif the system supports it. Default is true.\n-\n-gc.bigPackThreshold::\n-\tIf non-zero, all packs larger than this limit are kept when\n-\t`git gc` is run. This is very similar to `--keep-base-pack`\n-\texcept that all packs that meet the threshold are kept, not\n-\tjust the base pack. Defaults to zero. Common unit suffixes of\n-\t'k', 'm', or 'g' are supported.\n-+\n-Note that if the number of kept packs is more than gc.autoPackLimit,\n-this configuration variable is ignored, all packs except the base pack\n-will be repacked. After this the number of packs should go below\n-gc.autoPackLimit and gc.bigPackThreshold should be respected again.\n-\n-gc.writeCommitGraph::\n-\tIf true, then gc will rewrite the commit-graph file when\n-\tlinkgit:git-gc[1] is run. When using linkgit:git-gc[1]\n-\t'--auto' the commit-graph will be updated if housekeeping is\n-\trequired. Default is false. See linkgit:git-commit-graph[1]\n-\tfor details.\n-\n-gc.logExpiry::\n-\tIf the file gc.log exists, then `git gc --auto` will print\n-\tits content and exit with status zero instead of running\n-\tunless that file is more than 'gc.logExpiry' old.  Default is\n-\t\"1.day\".  See `gc.pruneExpire` for more ways to specify its\n-\tvalue.\n-\n-gc.packRefs::\n-\tRunning `git pack-refs` in a repository renders it\n-\tunclonable by Git versions prior to 1.5.1.2 over dumb\n-\ttransports such as HTTP.  This variable determines whether\n-\t'git gc' runs `git pack-refs`. This can be set to `notbare`\n-\tto enable it within all non-bare repos or it can be set to a\n-\tboolean value.  The default is `true`.\n-\n-gc.pruneExpire::\n-\tWhen 'git gc' is run, it will call 'prune --expire 2.weeks.ago'.\n-\tOverride the grace period with this config variable.  The value\n-\t\"now\" may be used to disable this grace period and always prune\n-\tunreachable objects immediately, or \"never\" may be used to\n-\tsuppress pruning.  This feature helps prevent corruption when\n-\t'git gc' runs concurrently with another process writing to the\n-\trepository; see the \"NOTES\" section of linkgit:git-gc[1].\n-\n-gc.worktreePruneExpire::\n-\tWhen 'git gc' is run, it calls\n-\t'git worktree prune --expire 3.months.ago'.\n-\tThis config variable can be used to set a different grace\n-\tperiod. The value \"now\" may be used to disable the grace\n-\tperiod and prune `$GIT_DIR/worktrees` immediately, or \"never\"\n-\tmay be used to suppress pruning.\n-\n-gc.reflogExpire::\n-gc.<pattern>.reflogExpire::\n-\t'git reflog expire' removes reflog entries older than\n-\tthis time; defaults to 90 days. The value \"now\" expires all\n-\tentries immediately, and \"never\" suppresses expiration\n-\taltogether. With \"<pattern>\" (e.g.\n-\t\"refs/stash\") in the middle the setting applies only to\n-\tthe refs that match the <pattern>.\n-\n-gc.reflogExpireUnreachable::\n-gc.<pattern>.reflogExpireUnreachable::\n-\t'git reflog expire' removes reflog entries older than\n-\tthis time and are not reachable from the current tip;\n-\tdefaults to 30 days. The value \"now\" expires all entries\n-\timmediately, and \"never\" suppresses expiration altogether.\n-\tWith \"<pattern>\" (e.g. \"refs/stash\")\n-\tin the middle, the setting applies only to the refs that\n-\tmatch the <pattern>.\n-\n-gc.rerereResolved::\n-\tRecords of conflicted merge you resolved earlier are\n-\tkept for this many days when 'git rerere gc' is run.\n-\tYou can also use more human-readable \"1.month.ago\", etc.\n-\tThe default is 60 days.  See linkgit:git-rerere[1].\n-\n-gc.rerereUnresolved::\n-\tRecords of conflicted merge you have not resolved are\n-\tkept for this many days when 'git rerere gc' is run.\n-\tYou can also use more human-readable \"1.month.ago\", etc.\n-\tThe default is 15 days.  See linkgit:git-rerere[1].\n+include::config/gc.txt[]\n \n include::gitcvs-config.txt[]\n \ndiff --git a/Documentation/config/gc.txt b/Documentation/config/gc.txt\nnew file mode 100644\nindex 0000000000..c6fbb8a96f\n--- /dev/null\n+++ b/Documentation/config/gc.txt\n@@ -0,0 +1,108 @@\n+gc.aggressiveDepth::\n+\tThe depth parameter used in the delta compression\n+\talgorithm used by 'git gc --aggressive'.  This defaults\n+\tto 50.\n+\n+gc.aggressiveWindow::\n+\tThe window size parameter used in the delta compression\n+\talgorithm used by 'git gc --aggressive'.  This defaults\n+\tto 250.\n+\n+gc.auto::\n+\tWhen there are approximately more than this many loose\n+\tobjects in the repository, `git gc --auto` will pack them.\n+\tSome Porcelain commands use this command to perform a\n+\tlight-weight garbage collection from time to time.  The\n+\tdefault value is 6700.  Setting this to 0 disables it.\n+\n+gc.autoPackLimit::\n+\tWhen there are more than this many packs that are not\n+\tmarked with `*.keep` file in the repository, `git gc\n+\t--auto` consolidates them into one larger pack.  The\n+\tdefault\tvalue is 50.  Setting this to 0 disables it.\n+\n+gc.autoDetach::\n+\tMake `git gc --auto` return immediately and run in background\n+\tif the system supports it. Default is true.\n+\n+gc.bigPackThreshold::\n+\tIf non-zero, all packs larger than this limit are kept when\n+\t`git gc` is run. This is very similar to `--keep-base-pack`\n+\texcept that all packs that meet the threshold are kept, not\n+\tjust the base pack. Defaults to zero. Common unit suffixes of\n+\t'k', 'm', or 'g' are supported.\n++\n+Note that if the number of kept packs is more than gc.autoPackLimit,\n+this configuration variable is ignored, all packs except the base pack\n+will be repacked. After this the number of packs should go below\n+gc.autoPackLimit and gc.bigPackThreshold should be respected again.\n+\n+gc.writeCommitGraph::\n+\tIf true, then gc will rewrite the commit-graph file when\n+\tlinkgit:git-gc[1] is run. When using linkgit:git-gc[1]\n+\t'--auto' the commit-graph will be updated if housekeeping is\n+\trequired. Default is false. See linkgit:git-commit-graph[1]\n+\tfor details.\n+\n+gc.logExpiry::\n+\tIf the file gc.log exists, then `git gc --auto` will print\n+\tits content and exit with status zero instead of running\n+\tunless that file is more than 'gc.logExpiry' old.  Default is\n+\t\"1.day\".  See `gc.pruneExpire` for more ways to specify its\n+\tvalue.\n+\n+gc.packRefs::\n+\tRunning `git pack-refs` in a repository renders it\n+\tunclonable by Git versions prior to 1.5.1.2 over dumb\n+\ttransports such as HTTP.  This variable determines whether\n+\t'git gc' runs `git pack-refs`. This can be set to `notbare`\n+\tto enable it within all non-bare repos or it can be set to a\n+\tboolean value.  The default is `true`.\n+\n+gc.pruneExpire::\n+\tWhen 'git gc' is run, it will call 'prune --expire 2.weeks.ago'.\n+\tOverride the grace period with this config variable.  The value\n+\t\"now\" may be used to disable this grace period and always prune\n+\tunreachable objects immediately, or \"never\" may be used to\n+\tsuppress pruning.  This feature helps prevent corruption when\n+\t'git gc' runs concurrently with another process writing to the\n+\trepository; see the \"NOTES\" section of linkgit:git-gc[1].\n+\n+gc.worktreePruneExpire::\n+\tWhen 'git gc' is run, it calls\n+\t'git worktree prune --expire 3.months.ago'.\n+\tThis config variable can be used to set a different grace\n+\tperiod. The value \"now\" may be used to disable the grace\n+\tperiod and prune `$GIT_DIR/worktrees` immediately, or \"never\"\n+\tmay be used to suppress pruning.\n+\n+gc.reflogExpire::\n+gc.<pattern>.reflogExpire::\n+\t'git reflog expire' removes reflog entries older than\n+\tthis time; defaults to 90 days. The value \"now\" expires all\n+\tentries immediately, and \"never\" suppresses expiration\n+\taltogether. With \"<pattern>\" (e.g.\n+\t\"refs/stash\") in the middle the setting applies only to\n+\tthe refs that match the <pattern>.\n+\n+gc.reflogExpireUnreachable::\n+gc.<pattern>.reflogExpireUnreachable::\n+\t'git reflog expire' removes reflog entries older than\n+\tthis time and are not reachable from the current tip;\n+\tdefaults to 30 days. The value \"now\" expires all entries\n+\timmediately, and \"never\" suppresses expiration altogether.\n+\tWith \"<pattern>\" (e.g. \"refs/stash\")\n+\tin the middle, the setting applies only to the refs that\n+\tmatch the <pattern>.\n+\n+gc.rerereResolved::\n+\tRecords of conflicted merge you resolved earlier are\n+\tkept for this many days when 'git rerere gc' is run.\n+\tYou can also use more human-readable \"1.month.ago\", etc.\n+\tThe default is 60 days.  See linkgit:git-rerere[1].\n+\n+gc.rerereUnresolved::\n+\tRecords of conflicted merge you have not resolved are\n+\tkept for this many days when 'git rerere gc' is run.\n+\tYou can also use more human-readable \"1.month.ago\", etc.\n+\tThe default is 15 days.  See linkgit:git-rerere[1].\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361693","messageId":"20181027062351.30446-28-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 27/78] config.txt: move gitcvs-config.txt to config/","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:00Z","receivedAt":"2018-10-27T06:24:34Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt                               | 2 +-\n Documentation/{gitcvs-config.txt => config/gitcvs.txt} | 0\n 2 files changed, 1 insertion(+), 1 deletion(-)\n rename Documentation/{gitcvs-config.txt => config/gitcvs.txt} (100%)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex dee012a5d5..6f4a66b3f2 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -335,7 +335,7 @@ include::config/fsck.txt[]\n \n include::config/gc.txt[]\n \n-include::gitcvs-config.txt[]\n+include::config/gitcvs.txt[]\n \n gitweb.category::\n gitweb.description::\ndiff --git a/Documentation/gitcvs-config.txt b/Documentation/config/gitcvs.txt\nsimilarity index 100%\nrename from Documentation/gitcvs-config.txt\nrename to Documentation/config/gitcvs.txt\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361697","messageId":"20181027062351.30446-29-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 28/78] config.txt: move gitweb.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:01Z","receivedAt":"2018-10-27T06:24:34Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt        | 17 +----------------\n Documentation/config/gitweb.txt | 16 ++++++++++++++++\n 2 files changed, 17 insertions(+), 16 deletions(-)\n create mode 100644 Documentation/config/gitweb.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 6f4a66b3f2..99ac8fc8ec 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -337,22 +337,7 @@ include::config/gc.txt[]\n \n include::config/gitcvs.txt[]\n \n-gitweb.category::\n-gitweb.description::\n-gitweb.owner::\n-gitweb.url::\n-\tSee linkgit:gitweb[1] for description.\n-\n-gitweb.avatar::\n-gitweb.blame::\n-gitweb.grep::\n-gitweb.highlight::\n-gitweb.patches::\n-gitweb.pickaxe::\n-gitweb.remote_heads::\n-gitweb.showSizes::\n-gitweb.snapshot::\n-\tSee linkgit:gitweb.conf[5] for description.\n+include::config/gitweb.txt[]\n \n grep.lineNumber::\n \tIf set to true, enable `-n` option by default.\ndiff --git a/Documentation/config/gitweb.txt b/Documentation/config/gitweb.txt\nnew file mode 100644\nindex 0000000000..1b51475108\n--- /dev/null\n+++ b/Documentation/config/gitweb.txt\n@@ -0,0 +1,16 @@\n+gitweb.category::\n+gitweb.description::\n+gitweb.owner::\n+gitweb.url::\n+\tSee linkgit:gitweb[1] for description.\n+\n+gitweb.avatar::\n+gitweb.blame::\n+gitweb.grep::\n+gitweb.highlight::\n+gitweb.patches::\n+gitweb.pickaxe::\n+gitweb.remote_heads::\n+gitweb.showSizes::\n+gitweb.snapshot::\n+\tSee linkgit:gitweb.conf[5] for description.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361694","messageId":"20181027062351.30446-30-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 29/78] config.txt: move grep.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:02Z","receivedAt":"2018-10-27T06:24:35Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt      | 25 +------------------------\n Documentation/config/grep.txt | 24 ++++++++++++++++++++++++\n 2 files changed, 25 insertions(+), 24 deletions(-)\n create mode 100644 Documentation/config/grep.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 99ac8fc8ec..177fefc83c 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -339,30 +339,7 @@ include::config/gitcvs.txt[]\n \n include::config/gitweb.txt[]\n \n-grep.lineNumber::\n-\tIf set to true, enable `-n` option by default.\n-\n-grep.column::\n-\tIf set to true, enable the `--column` option by default.\n-\n-grep.patternType::\n-\tSet the default matching behavior. Using a value of 'basic', 'extended',\n-\t'fixed', or 'perl' will enable the `--basic-regexp`, `--extended-regexp`,\n-\t`--fixed-strings`, or `--perl-regexp` option accordingly, while the\n-\tvalue 'default' will return to the default matching behavior.\n-\n-grep.extendedRegexp::\n-\tIf set to true, enable `--extended-regexp` option by default. This\n-\toption is ignored when the `grep.patternType` option is set to a value\n-\tother than 'default'.\n-\n-grep.threads::\n-\tNumber of grep worker threads to use.\n-\tSee `grep.threads` in linkgit:git-grep[1] for more information.\n-\n-grep.fallbackToNoIndex::\n-\tIf set to true, fall back to git grep --no-index if git grep\n-\tis executed outside of a git repository.  Defaults to false.\n+include::config/grep.txt[]\n \n gpg.program::\n \tUse this custom program instead of \"`gpg`\" found on `$PATH` when\ndiff --git a/Documentation/config/grep.txt b/Documentation/config/grep.txt\nnew file mode 100644\nindex 0000000000..44abe45a7c\n--- /dev/null\n+++ b/Documentation/config/grep.txt\n@@ -0,0 +1,24 @@\n+grep.lineNumber::\n+\tIf set to true, enable `-n` option by default.\n+\n+grep.column::\n+\tIf set to true, enable the `--column` option by default.\n+\n+grep.patternType::\n+\tSet the default matching behavior. Using a value of 'basic', 'extended',\n+\t'fixed', or 'perl' will enable the `--basic-regexp`, `--extended-regexp`,\n+\t`--fixed-strings`, or `--perl-regexp` option accordingly, while the\n+\tvalue 'default' will return to the default matching behavior.\n+\n+grep.extendedRegexp::\n+\tIf set to true, enable `--extended-regexp` option by default. This\n+\toption is ignored when the `grep.patternType` option is set to a value\n+\tother than 'default'.\n+\n+grep.threads::\n+\tNumber of grep worker threads to use.\n+\tSee `grep.threads` in linkgit:git-grep[1] for more information.\n+\n+grep.fallbackToNoIndex::\n+\tIf set to true, fall back to git grep --no-index if git grep\n+\tis executed outside of a git repository.  Defaults to false.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361696","messageId":"20181027062351.30446-32-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 31/78] config.txt: move gui-config.txt to config/","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:04Z","receivedAt":"2018-10-27T06:24:36Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt                         | 2 +-\n Documentation/{gui-config.txt => config/gui.txt} | 0\n 2 files changed, 1 insertion(+), 1 deletion(-)\n rename Documentation/{gui-config.txt => config/gui.txt} (100%)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex f52b89883d..093a71e5d1 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -343,7 +343,7 @@ include::config/grep.txt[]\n \n include::config/gpg.txt[]\n \n-include::gui-config.txt[]\n+include::config/gui.txt[]\n \n guitool.<name>.cmd::\n \tSpecifies the shell command line to execute when the corresponding item\ndiff --git a/Documentation/gui-config.txt b/Documentation/config/gui.txt\nsimilarity index 100%\nrename from Documentation/gui-config.txt\nrename to Documentation/config/gui.txt\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361695","messageId":"20181027062351.30446-34-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 33/78] config.txt: move help.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:06Z","receivedAt":"2018-10-27T06:24:38Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt      | 24 +-----------------------\n Documentation/config/help.txt | 23 +++++++++++++++++++++++\n 2 files changed, 24 insertions(+), 23 deletions(-)\n create mode 100644 Documentation/config/help.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex dda5812a8a..ba3b775fb0 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -347,29 +347,7 @@ include::config/gui.txt[]\n \n include::config/guitool.txt[]\n \n-help.browser::\n-\tSpecify the browser that will be used to display help in the\n-\t'web' format. See linkgit:git-help[1].\n-\n-help.format::\n-\tOverride the default help format used by linkgit:git-help[1].\n-\tValues 'man', 'info', 'web' and 'html' are supported. 'man' is\n-\tthe default. 'web' and 'html' are the same.\n-\n-help.autoCorrect::\n-\tAutomatically correct and execute mistyped commands after\n-\twaiting for the given number of deciseconds (0.1 sec). If more\n-\tthan one command can be deduced from the entered text, nothing\n-\twill be executed.  If the value of this option is negative,\n-\tthe corrected command will be executed immediately. If the\n-\tvalue is 0 - the command will be just shown but not executed.\n-\tThis is the default.\n-\n-help.htmlPath::\n-\tSpecify the path where the HTML documentation resides. File system paths\n-\tand URLs are supported. HTML pages will be prefixed with this path when\n-\thelp is displayed in the 'web' format. This defaults to the documentation\n-\tpath of your Git installation.\n+include::config/help.txt[]\n \n http.proxy::\n \tOverride the HTTP proxy, normally configured using the 'http_proxy',\ndiff --git a/Documentation/config/help.txt b/Documentation/config/help.txt\nnew file mode 100644\nindex 0000000000..224bbf5a28\n--- /dev/null\n+++ b/Documentation/config/help.txt\n@@ -0,0 +1,23 @@\n+help.browser::\n+\tSpecify the browser that will be used to display help in the\n+\t'web' format. See linkgit:git-help[1].\n+\n+help.format::\n+\tOverride the default help format used by linkgit:git-help[1].\n+\tValues 'man', 'info', 'web' and 'html' are supported. 'man' is\n+\tthe default. 'web' and 'html' are the same.\n+\n+help.autoCorrect::\n+\tAutomatically correct and execute mistyped commands after\n+\twaiting for the given number of deciseconds (0.1 sec). If more\n+\tthan one command can be deduced from the entered text, nothing\n+\twill be executed.  If the value of this option is negative,\n+\tthe corrected command will be executed immediately. If the\n+\tvalue is 0 - the command will be just shown but not executed.\n+\tThis is the default.\n+\n+help.htmlPath::\n+\tSpecify the path where the HTML documentation resides. File system paths\n+\tand URLs are supported. HTML pages will be prefixed with this path when\n+\thelp is displayed in the 'web' format. This defaults to the documentation\n+\tpath of your Git installation.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361698","messageId":"20181027062351.30446-33-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 32/78] config.txt: move guitool.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:05Z","receivedAt":"2018-10-27T06:24:38Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt         | 51 +-------------------------------\n Documentation/config/guitool.txt | 50 +++++++++++++++++++++++++++++++\n 2 files changed, 51 insertions(+), 50 deletions(-)\n create mode 100644 Documentation/config/guitool.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 093a71e5d1..dda5812a8a 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -345,56 +345,7 @@ include::config/gpg.txt[]\n \n include::config/gui.txt[]\n \n-guitool.<name>.cmd::\n-\tSpecifies the shell command line to execute when the corresponding item\n-\tof the linkgit:git-gui[1] `Tools` menu is invoked. This option is\n-\tmandatory for every tool. The command is executed from the root of\n-\tthe working directory, and in the environment it receives the name of\n-\tthe tool as `GIT_GUITOOL`, the name of the currently selected file as\n-\t'FILENAME', and the name of the current branch as 'CUR_BRANCH' (if\n-\tthe head is detached, 'CUR_BRANCH' is empty).\n-\n-guitool.<name>.needsFile::\n-\tRun the tool only if a diff is selected in the GUI. It guarantees\n-\tthat 'FILENAME' is not empty.\n-\n-guitool.<name>.noConsole::\n-\tRun the command silently, without creating a window to display its\n-\toutput.\n-\n-guitool.<name>.noRescan::\n-\tDon't rescan the working directory for changes after the tool\n-\tfinishes execution.\n-\n-guitool.<name>.confirm::\n-\tShow a confirmation dialog before actually running the tool.\n-\n-guitool.<name>.argPrompt::\n-\tRequest a string argument from the user, and pass it to the tool\n-\tthrough the `ARGS` environment variable. Since requesting an\n-\targument implies confirmation, the 'confirm' option has no effect\n-\tif this is enabled. If the option is set to 'true', 'yes', or '1',\n-\tthe dialog uses a built-in generic prompt; otherwise the exact\n-\tvalue of the variable is used.\n-\n-guitool.<name>.revPrompt::\n-\tRequest a single valid revision from the user, and set the\n-\t`REVISION` environment variable. In other aspects this option\n-\tis similar to 'argPrompt', and can be used together with it.\n-\n-guitool.<name>.revUnmerged::\n-\tShow only unmerged branches in the 'revPrompt' subdialog.\n-\tThis is useful for tools similar to merge or rebase, but not\n-\tfor things like checkout or reset.\n-\n-guitool.<name>.title::\n-\tSpecifies the title to use for the prompt dialog. The default\n-\tis the tool name.\n-\n-guitool.<name>.prompt::\n-\tSpecifies the general prompt string to display at the top of\n-\tthe dialog, before subsections for 'argPrompt' and 'revPrompt'.\n-\tThe default value includes the actual command.\n+include::config/guitool.txt[]\n \n help.browser::\n \tSpecify the browser that will be used to display help in the\ndiff --git a/Documentation/config/guitool.txt b/Documentation/config/guitool.txt\nnew file mode 100644\nindex 0000000000..43fb9466ff\n--- /dev/null\n+++ b/Documentation/config/guitool.txt\n@@ -0,0 +1,50 @@\n+guitool.<name>.cmd::\n+\tSpecifies the shell command line to execute when the corresponding item\n+\tof the linkgit:git-gui[1] `Tools` menu is invoked. This option is\n+\tmandatory for every tool. The command is executed from the root of\n+\tthe working directory, and in the environment it receives the name of\n+\tthe tool as `GIT_GUITOOL`, the name of the currently selected file as\n+\t'FILENAME', and the name of the current branch as 'CUR_BRANCH' (if\n+\tthe head is detached, 'CUR_BRANCH' is empty).\n+\n+guitool.<name>.needsFile::\n+\tRun the tool only if a diff is selected in the GUI. It guarantees\n+\tthat 'FILENAME' is not empty.\n+\n+guitool.<name>.noConsole::\n+\tRun the command silently, without creating a window to display its\n+\toutput.\n+\n+guitool.<name>.noRescan::\n+\tDon't rescan the working directory for changes after the tool\n+\tfinishes execution.\n+\n+guitool.<name>.confirm::\n+\tShow a confirmation dialog before actually running the tool.\n+\n+guitool.<name>.argPrompt::\n+\tRequest a string argument from the user, and pass it to the tool\n+\tthrough the `ARGS` environment variable. Since requesting an\n+\targument implies confirmation, the 'confirm' option has no effect\n+\tif this is enabled. If the option is set to 'true', 'yes', or '1',\n+\tthe dialog uses a built-in generic prompt; otherwise the exact\n+\tvalue of the variable is used.\n+\n+guitool.<name>.revPrompt::\n+\tRequest a single valid revision from the user, and set the\n+\t`REVISION` environment variable. In other aspects this option\n+\tis similar to 'argPrompt', and can be used together with it.\n+\n+guitool.<name>.revUnmerged::\n+\tShow only unmerged branches in the 'revPrompt' subdialog.\n+\tThis is useful for tools similar to merge or rebase, but not\n+\tfor things like checkout or reset.\n+\n+guitool.<name>.title::\n+\tSpecifies the title to use for the prompt dialog. The default\n+\tis the tool name.\n+\n+guitool.<name>.prompt::\n+\tSpecifies the general prompt string to display at the top of\n+\tthe dialog, before subsections for 'argPrompt' and 'revPrompt'.\n+\tThe default value includes the actual command.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361699","messageId":"20181027062351.30446-35-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 34/78] config.txt: move ssh.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:07Z","receivedAt":"2018-10-27T06:24:39Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt     | 38 ++----------------------------------\n Documentation/config/ssh.txt | 35 +++++++++++++++++++++++++++++++++\n 2 files changed, 37 insertions(+), 36 deletions(-)\n create mode 100644 Documentation/config/ssh.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex ba3b775fb0..60c2204fb4 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -621,42 +621,6 @@ Environment variable settings always override any matches.  The URLs that are\n matched against are those given directly to Git commands.  This means any URLs\n visited as a result of a redirection do not participate in matching.\n \n-ssh.variant::\n-\tBy default, Git determines the command line arguments to use\n-\tbased on the basename of the configured SSH command (configured\n-\tusing the environment variable `GIT_SSH` or `GIT_SSH_COMMAND` or\n-\tthe config setting `core.sshCommand`). If the basename is\n-\tunrecognized, Git will attempt to detect support of OpenSSH\n-\toptions by first invoking the configured SSH command with the\n-\t`-G` (print configuration) option and will subsequently use\n-\tOpenSSH options (if that is successful) or no options besides\n-\tthe host and remote command (if it fails).\n-+\n-The config variable `ssh.variant` can be set to override this detection.\n-Valid values are `ssh` (to use OpenSSH options), `plink`, `putty`,\n-`tortoiseplink`, `simple` (no options except the host and remote command).\n-The default auto-detection can be explicitly requested using the value\n-`auto`.  Any other value is treated as `ssh`.  This setting can also be\n-overridden via the environment variable `GIT_SSH_VARIANT`.\n-+\n-The current command-line parameters used for each variant are as\n-follows:\n-+\n---\n-\n-* `ssh` - [-p port] [-4] [-6] [-o option] [username@]host command\n-\n-* `simple` - [username@]host command\n-\n-* `plink` or `putty` - [-P port] [-4] [-6] [username@]host command\n-\n-* `tortoiseplink` - [-P port] [-4] [-6] -batch [username@]host command\n-\n---\n-+\n-Except for the `simple` variant, command-line parameters are likely to\n-change as git gains new features.\n-\n i18n.commitEncoding::\n \tCharacter encoding the commit messages are stored in; Git itself\n \tdoes not care per se, but this information is necessary e.g. when\n@@ -1298,6 +1262,8 @@ splitIndex.sharedIndexExpire::\n \teither created based on it or read from it.\n \tSee linkgit:git-update-index[1].\n \n+include::config/ssh.txt[]\n+\n status.relativePaths::\n \tBy default, linkgit:git-status[1] shows paths relative to the\n \tcurrent directory. Setting this variable to `false` shows paths\ndiff --git a/Documentation/config/ssh.txt b/Documentation/config/ssh.txt\nnew file mode 100644\nindex 0000000000..2ca4bf93e1\n--- /dev/null\n+++ b/Documentation/config/ssh.txt\n@@ -0,0 +1,35 @@\n+ssh.variant::\n+\tBy default, Git determines the command line arguments to use\n+\tbased on the basename of the configured SSH command (configured\n+\tusing the environment variable `GIT_SSH` or `GIT_SSH_COMMAND` or\n+\tthe config setting `core.sshCommand`). If the basename is\n+\tunrecognized, Git will attempt to detect support of OpenSSH\n+\toptions by first invoking the configured SSH command with the\n+\t`-G` (print configuration) option and will subsequently use\n+\tOpenSSH options (if that is successful) or no options besides\n+\tthe host and remote command (if it fails).\n++\n+The config variable `ssh.variant` can be set to override this detection.\n+Valid values are `ssh` (to use OpenSSH options), `plink`, `putty`,\n+`tortoiseplink`, `simple` (no options except the host and remote command).\n+The default auto-detection can be explicitly requested using the value\n+`auto`.  Any other value is treated as `ssh`.  This setting can also be\n+overridden via the environment variable `GIT_SSH_VARIANT`.\n++\n+The current command-line parameters used for each variant are as\n+follows:\n++\n+--\n+\n+* `ssh` - [-p port] [-4] [-6] [-o option] [username@]host command\n+\n+* `simple` - [username@]host command\n+\n+* `plink` or `putty` - [-P port] [-4] [-6] [username@]host command\n+\n+* `tortoiseplink` - [-P port] [-4] [-6] -batch [username@]host command\n+\n+--\n++\n+Except for the `simple` variant, command-line parameters are likely to\n+change as git gains new features.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361701","messageId":"20181027062351.30446-31-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 30/78] config.txt: move gpg.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:03Z","receivedAt":"2018-10-27T06:24:42Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt     | 21 +--------------------\n Documentation/config/gpg.txt | 20 ++++++++++++++++++++\n 2 files changed, 21 insertions(+), 20 deletions(-)\n create mode 100644 Documentation/config/gpg.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 177fefc83c..f52b89883d 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -341,26 +341,7 @@ include::config/gitweb.txt[]\n \n include::config/grep.txt[]\n \n-gpg.program::\n-\tUse this custom program instead of \"`gpg`\" found on `$PATH` when\n-\tmaking or verifying a PGP signature. The program must support the\n-\tsame command-line interface as GPG, namely, to verify a detached\n-\tsignature, \"`gpg --verify $file - <$signature`\" is run, and the\n-\tprogram is expected to signal a good signature by exiting with\n-\tcode 0, and to generate an ASCII-armored detached signature, the\n-\tstandard input of \"`gpg -bsau $key`\" is fed with the contents to be\n-\tsigned, and the program is expected to send the result to its\n-\tstandard output.\n-\n-gpg.format::\n-\tSpecifies which key format to use when signing with `--gpg-sign`.\n-\tDefault is \"openpgp\" and another possible value is \"x509\".\n-\n-gpg.<format>.program::\n-\tUse this to customize the program used for the signing format you\n-\tchose. (see `gpg.program` and `gpg.format`) `gpg.program` can still\n-\tbe used as a legacy synonym for\t`gpg.openpgp.program`. The default\n-\tvalue for `gpg.x509.program` is \"gpgsm\".\n+include::config/gpg.txt[]\n \n include::gui-config.txt[]\n \ndiff --git a/Documentation/config/gpg.txt b/Documentation/config/gpg.txt\nnew file mode 100644\nindex 0000000000..590fe0d4ba\n--- /dev/null\n+++ b/Documentation/config/gpg.txt\n@@ -0,0 +1,20 @@\n+gpg.program::\n+\tUse this custom program instead of \"`gpg`\" found on `$PATH` when\n+\tmaking or verifying a PGP signature. The program must support the\n+\tsame command-line interface as GPG, namely, to verify a detached\n+\tsignature, \"`gpg --verify $file - <$signature`\" is run, and the\n+\tprogram is expected to signal a good signature by exiting with\n+\tcode 0, and to generate an ASCII-armored detached signature, the\n+\tstandard input of \"`gpg -bsau $key`\" is fed with the contents to be\n+\tsigned, and the program is expected to send the result to its\n+\tstandard output.\n+\n+gpg.format::\n+\tSpecifies which key format to use when signing with `--gpg-sign`.\n+\tDefault is \"openpgp\" and another possible value is \"x509\".\n+\n+gpg.<format>.program::\n+\tUse this to customize the program used for the signing format you\n+\tchose. (see `gpg.program` and `gpg.format`) `gpg.program` can still\n+\tbe used as a legacy synonym for\t`gpg.openpgp.program`. The default\n+\tvalue for `gpg.x509.program` is \"gpgsm\".\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361700","messageId":"20181027062351.30446-36-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 35/78] config.txt: move http.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:08Z","receivedAt":"2018-10-27T06:24:43Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt      | 272 +---------------------------------\n Documentation/config/http.txt | 271 +++++++++++++++++++++++++++++++++\n 2 files changed, 272 insertions(+), 271 deletions(-)\n create mode 100644 Documentation/config/http.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 60c2204fb4..11194e1851 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -349,277 +349,7 @@ include::config/guitool.txt[]\n \n include::config/help.txt[]\n \n-http.proxy::\n-\tOverride the HTTP proxy, normally configured using the 'http_proxy',\n-\t'https_proxy', and 'all_proxy' environment variables (see `curl(1)`). In\n-\taddition to the syntax understood by curl, it is possible to specify a\n-\tproxy string with a user name but no password, in which case git will\n-\tattempt to acquire one in the same way it does for other credentials. See\n-\tlinkgit:gitcredentials[7] for more information. The syntax thus is\n-\t'[protocol://][user[:password]@]proxyhost[:port]'. This can be overridden\n-\ton a per-remote basis; see remote.<name>.proxy\n-\n-http.proxyAuthMethod::\n-\tSet the method with which to authenticate against the HTTP proxy. This\n-\tonly takes effect if the configured proxy string contains a user name part\n-\t(i.e. is of the form 'user@host' or 'user@host:port'). This can be\n-\toverridden on a per-remote basis; see `remote.<name>.proxyAuthMethod`.\n-\tBoth can be overridden by the `GIT_HTTP_PROXY_AUTHMETHOD` environment\n-\tvariable.  Possible values are:\n-+\n---\n-* `anyauth` - Automatically pick a suitable authentication method. It is\n-  assumed that the proxy answers an unauthenticated request with a 407\n-  status code and one or more Proxy-authenticate headers with supported\n-  authentication methods. This is the default.\n-* `basic` - HTTP Basic authentication\n-* `digest` - HTTP Digest authentication; this prevents the password from being\n-  transmitted to the proxy in clear text\n-* `negotiate` - GSS-Negotiate authentication (compare the --negotiate option\n-  of `curl(1)`)\n-* `ntlm` - NTLM authentication (compare the --ntlm option of `curl(1)`)\n---\n-\n-http.emptyAuth::\n-\tAttempt authentication without seeking a username or password.  This\n-\tcan be used to attempt GSS-Negotiate authentication without specifying\n-\ta username in the URL, as libcurl normally requires a username for\n-\tauthentication.\n-\n-http.delegation::\n-\tControl GSSAPI credential delegation. The delegation is disabled\n-\tby default in libcurl since version 7.21.7. Set parameter to tell\n-\tthe server what it is allowed to delegate when it comes to user\n-\tcredentials. Used with GSS/kerberos. Possible values are:\n-+\n---\n-* `none` - Don't allow any delegation.\n-* `policy` - Delegates if and only if the OK-AS-DELEGATE flag is set in the\n-  Kerberos service ticket, which is a matter of realm policy.\n-* `always` - Unconditionally allow the server to delegate.\n---\n-\n-\n-http.extraHeader::\n-\tPass an additional HTTP header when communicating with a server.  If\n-\tmore than one such entry exists, all of them are added as extra\n-\theaders.  To allow overriding the settings inherited from the system\n-\tconfig, an empty value will reset the extra headers to the empty list.\n-\n-http.cookieFile::\n-\tThe pathname of a file containing previously stored cookie lines,\n-\twhich should be used\n-\tin the Git http session, if they match the server. The file format\n-\tof the file to read cookies from should be plain HTTP headers or\n-\tthe Netscape/Mozilla cookie file format (see `curl(1)`).\n-\tNOTE that the file specified with http.cookieFile is used only as\n-\tinput unless http.saveCookies is set.\n-\n-http.saveCookies::\n-\tIf set, store cookies received during requests to the file specified by\n-\thttp.cookieFile. Has no effect if http.cookieFile is unset.\n-\n-http.sslVersion::\n-\tThe SSL version to use when negotiating an SSL connection, if you\n-\twant to force the default.  The available and default version\n-\tdepend on whether libcurl was built against NSS or OpenSSL and the\n-\tparticular configuration of the crypto library in use. Internally\n-\tthis sets the 'CURLOPT_SSL_VERSION' option; see the libcurl\n-\tdocumentation for more details on the format of this option and\n-\tfor the ssl version supported. Actually the possible values of\n-\tthis option are:\n-\n-\t- sslv2\n-\t- sslv3\n-\t- tlsv1\n-\t- tlsv1.0\n-\t- tlsv1.1\n-\t- tlsv1.2\n-\t- tlsv1.3\n-\n-+\n-Can be overridden by the `GIT_SSL_VERSION` environment variable.\n-To force git to use libcurl's default ssl version and ignore any\n-explicit http.sslversion option, set `GIT_SSL_VERSION` to the\n-empty string.\n-\n-http.sslCipherList::\n-  A list of SSL ciphers to use when negotiating an SSL connection.\n-  The available ciphers depend on whether libcurl was built against\n-  NSS or OpenSSL and the particular configuration of the crypto\n-  library in use.  Internally this sets the 'CURLOPT_SSL_CIPHER_LIST'\n-  option; see the libcurl documentation for more details on the format\n-  of this list.\n-+\n-Can be overridden by the `GIT_SSL_CIPHER_LIST` environment variable.\n-To force git to use libcurl's default cipher list and ignore any\n-explicit http.sslCipherList option, set `GIT_SSL_CIPHER_LIST` to the\n-empty string.\n-\n-http.sslVerify::\n-\tWhether to verify the SSL certificate when fetching or pushing\n-\tover HTTPS. Defaults to true. Can be overridden by the\n-\t`GIT_SSL_NO_VERIFY` environment variable.\n-\n-http.sslCert::\n-\tFile containing the SSL certificate when fetching or pushing\n-\tover HTTPS. Can be overridden by the `GIT_SSL_CERT` environment\n-\tvariable.\n-\n-http.sslKey::\n-\tFile containing the SSL private key when fetching or pushing\n-\tover HTTPS. Can be overridden by the `GIT_SSL_KEY` environment\n-\tvariable.\n-\n-http.sslCertPasswordProtected::\n-\tEnable Git's password prompt for the SSL certificate.  Otherwise\n-\tOpenSSL will prompt the user, possibly many times, if the\n-\tcertificate or private key is encrypted.  Can be overridden by the\n-\t`GIT_SSL_CERT_PASSWORD_PROTECTED` environment variable.\n-\n-http.sslCAInfo::\n-\tFile containing the certificates to verify the peer with when\n-\tfetching or pushing over HTTPS. Can be overridden by the\n-\t`GIT_SSL_CAINFO` environment variable.\n-\n-http.sslCAPath::\n-\tPath containing files with the CA certificates to verify the peer\n-\twith when fetching or pushing over HTTPS. Can be overridden\n-\tby the `GIT_SSL_CAPATH` environment variable.\n-\n-http.sslBackend::\n-\tName of the SSL backend to use (e.g. \"openssl\" or \"schannel\").\n-\tThis option is ignored if cURL lacks support for choosing the SSL\n-\tbackend at runtime.\n-\n-http.schannelCheckRevoke::\n-\tUsed to enforce or disable certificate revocation checks in cURL\n-\twhen http.sslBackend is set to \"schannel\". Defaults to `true` if\n-\tunset. Only necessary to disable this if Git consistently errors\n-\tand the message is about checking the revocation status of a\n-\tcertificate. This option is ignored if cURL lacks support for\n-\tsetting the relevant SSL option at runtime.\n-\n-http.schannelUseSSLCAInfo::\n-\tAs of cURL v7.60.0, the Secure Channel backend can use the\n-\tcertificate bundle provided via `http.sslCAInfo`, but that would\n-\toverride the Windows Certificate Store. Since this is not desirable\n-\tby default, Git will tell cURL not to use that bundle by default\n-\twhen the `schannel` backend was configured via `http.sslBackend`,\n-\tunless `http.schannelUseSSLCAInfo` overrides this behavior.\n-\n-http.pinnedpubkey::\n-\tPublic key of the https service. It may either be the filename of\n-\ta PEM or DER encoded public key file or a string starting with\n-\t'sha256//' followed by the base64 encoded sha256 hash of the\n-\tpublic key. See also libcurl 'CURLOPT_PINNEDPUBLICKEY'. git will\n-\texit with an error if this option is set but not supported by\n-\tcURL.\n-\n-http.sslTry::\n-\tAttempt to use AUTH SSL/TLS and encrypted data transfers\n-\twhen connecting via regular FTP protocol. This might be needed\n-\tif the FTP server requires it for security reasons or you wish\n-\tto connect securely whenever remote FTP server supports it.\n-\tDefault is false since it might trigger certificate verification\n-\terrors on misconfigured servers.\n-\n-http.maxRequests::\n-\tHow many HTTP requests to launch in parallel. Can be overridden\n-\tby the `GIT_HTTP_MAX_REQUESTS` environment variable. Default is 5.\n-\n-http.minSessions::\n-\tThe number of curl sessions (counted across slots) to be kept across\n-\trequests. They will not be ended with curl_easy_cleanup() until\n-\thttp_cleanup() is invoked. If USE_CURL_MULTI is not defined, this\n-\tvalue will be capped at 1. Defaults to 1.\n-\n-http.postBuffer::\n-\tMaximum size in bytes of the buffer used by smart HTTP\n-\ttransports when POSTing data to the remote system.\n-\tFor requests larger than this buffer size, HTTP/1.1 and\n-\tTransfer-Encoding: chunked is used to avoid creating a\n-\tmassive pack file locally.  Default is 1 MiB, which is\n-\tsufficient for most requests.\n-\n-http.lowSpeedLimit, http.lowSpeedTime::\n-\tIf the HTTP transfer speed is less than 'http.lowSpeedLimit'\n-\tfor longer than 'http.lowSpeedTime' seconds, the transfer is aborted.\n-\tCan be overridden by the `GIT_HTTP_LOW_SPEED_LIMIT` and\n-\t`GIT_HTTP_LOW_SPEED_TIME` environment variables.\n-\n-http.noEPSV::\n-\tA boolean which disables using of EPSV ftp command by curl.\n-\tThis can helpful with some \"poor\" ftp servers which don't\n-\tsupport EPSV mode. Can be overridden by the `GIT_CURL_FTP_NO_EPSV`\n-\tenvironment variable. Default is false (curl will use EPSV).\n-\n-http.userAgent::\n-\tThe HTTP USER_AGENT string presented to an HTTP server.  The default\n-\tvalue represents the version of the client Git such as git/1.7.1.\n-\tThis option allows you to override this value to a more common value\n-\tsuch as Mozilla/4.0.  This may be necessary, for instance, if\n-\tconnecting through a firewall that restricts HTTP connections to a set\n-\tof common USER_AGENT strings (but not including those like git/1.7.1).\n-\tCan be overridden by the `GIT_HTTP_USER_AGENT` environment variable.\n-\n-http.followRedirects::\n-\tWhether git should follow HTTP redirects. If set to `true`, git\n-\twill transparently follow any redirect issued by a server it\n-\tencounters. If set to `false`, git will treat all redirects as\n-\terrors. If set to `initial`, git will follow redirects only for\n-\tthe initial request to a remote, but not for subsequent\n-\tfollow-up HTTP requests. Since git uses the redirected URL as\n-\tthe base for the follow-up requests, this is generally\n-\tsufficient. The default is `initial`.\n-\n-http.<url>.*::\n-\tAny of the http.* options above can be applied selectively to some URLs.\n-\tFor a config key to match a URL, each element of the config key is\n-\tcompared to that of the URL, in the following order:\n-+\n---\n-. Scheme (e.g., `https` in `https://example.com/`). This field\n-  must match exactly between the config key and the URL.\n-\n-. Host/domain name (e.g., `example.com` in `https://example.com/`).\n-  This field must match between the config key and the URL. It is\n-  possible to specify a `*` as part of the host name to match all subdomains\n-  at this level. `https://*.example.com/` for example would match\n-  `https://foo.example.com/`, but not `https://foo.bar.example.com/`.\n-\n-. Port number (e.g., `8080` in `http://example.com:8080/`).\n-  This field must match exactly between the config key and the URL.\n-  Omitted port numbers are automatically converted to the correct\n-  default for the scheme before matching.\n-\n-. Path (e.g., `repo.git` in `https://example.com/repo.git`). The\n-  path field of the config key must match the path field of the URL\n-  either exactly or as a prefix of slash-delimited path elements.  This means\n-  a config key with path `foo/` matches URL path `foo/bar`.  A prefix can only\n-  match on a slash (`/`) boundary.  Longer matches take precedence (so a config\n-  key with path `foo/bar` is a better match to URL path `foo/bar` than a config\n-  key with just path `foo/`).\n-\n-. User name (e.g., `user` in `https://user@example.com/repo.git`). If\n-  the config key has a user name it must match the user name in the\n-  URL exactly. If the config key does not have a user name, that\n-  config key will match a URL with any user name (including none),\n-  but at a lower precedence than a config key with a user name.\n---\n-+\n-The list above is ordered by decreasing precedence; a URL that matches\n-a config key's path is preferred to one that matches its user name. For example,\n-if the URL is `https://user@example.com/foo/bar` a config key match of\n-`https://example.com/foo` will be preferred over a config key match of\n-`https://user@example.com`.\n-+\n-All URLs are normalized before attempting any matching (the password part,\n-if embedded in the URL, is always ignored for matching purposes) so that\n-equivalent URLs that are simply spelled differently will match properly.\n-Environment variable settings always override any matches.  The URLs that are\n-matched against are those given directly to Git commands.  This means any URLs\n-visited as a result of a redirection do not participate in matching.\n+include::config/http.txt[]\n \n i18n.commitEncoding::\n \tCharacter encoding the commit messages are stored in; Git itself\ndiff --git a/Documentation/config/http.txt b/Documentation/config/http.txt\nnew file mode 100644\nindex 0000000000..a56d848bc0\n--- /dev/null\n+++ b/Documentation/config/http.txt\n@@ -0,0 +1,271 @@\n+http.proxy::\n+\tOverride the HTTP proxy, normally configured using the 'http_proxy',\n+\t'https_proxy', and 'all_proxy' environment variables (see `curl(1)`). In\n+\taddition to the syntax understood by curl, it is possible to specify a\n+\tproxy string with a user name but no password, in which case git will\n+\tattempt to acquire one in the same way it does for other credentials. See\n+\tlinkgit:gitcredentials[7] for more information. The syntax thus is\n+\t'[protocol://][user[:password]@]proxyhost[:port]'. This can be overridden\n+\ton a per-remote basis; see remote.<name>.proxy\n+\n+http.proxyAuthMethod::\n+\tSet the method with which to authenticate against the HTTP proxy. This\n+\tonly takes effect if the configured proxy string contains a user name part\n+\t(i.e. is of the form 'user@host' or 'user@host:port'). This can be\n+\toverridden on a per-remote basis; see `remote.<name>.proxyAuthMethod`.\n+\tBoth can be overridden by the `GIT_HTTP_PROXY_AUTHMETHOD` environment\n+\tvariable.  Possible values are:\n++\n+--\n+* `anyauth` - Automatically pick a suitable authentication method. It is\n+  assumed that the proxy answers an unauthenticated request with a 407\n+  status code and one or more Proxy-authenticate headers with supported\n+  authentication methods. This is the default.\n+* `basic` - HTTP Basic authentication\n+* `digest` - HTTP Digest authentication; this prevents the password from being\n+  transmitted to the proxy in clear text\n+* `negotiate` - GSS-Negotiate authentication (compare the --negotiate option\n+  of `curl(1)`)\n+* `ntlm` - NTLM authentication (compare the --ntlm option of `curl(1)`)\n+--\n+\n+http.emptyAuth::\n+\tAttempt authentication without seeking a username or password.  This\n+\tcan be used to attempt GSS-Negotiate authentication without specifying\n+\ta username in the URL, as libcurl normally requires a username for\n+\tauthentication.\n+\n+http.delegation::\n+\tControl GSSAPI credential delegation. The delegation is disabled\n+\tby default in libcurl since version 7.21.7. Set parameter to tell\n+\tthe server what it is allowed to delegate when it comes to user\n+\tcredentials. Used with GSS/kerberos. Possible values are:\n++\n+--\n+* `none` - Don't allow any delegation.\n+* `policy` - Delegates if and only if the OK-AS-DELEGATE flag is set in the\n+  Kerberos service ticket, which is a matter of realm policy.\n+* `always` - Unconditionally allow the server to delegate.\n+--\n+\n+\n+http.extraHeader::\n+\tPass an additional HTTP header when communicating with a server.  If\n+\tmore than one such entry exists, all of them are added as extra\n+\theaders.  To allow overriding the settings inherited from the system\n+\tconfig, an empty value will reset the extra headers to the empty list.\n+\n+http.cookieFile::\n+\tThe pathname of a file containing previously stored cookie lines,\n+\twhich should be used\n+\tin the Git http session, if they match the server. The file format\n+\tof the file to read cookies from should be plain HTTP headers or\n+\tthe Netscape/Mozilla cookie file format (see `curl(1)`).\n+\tNOTE that the file specified with http.cookieFile is used only as\n+\tinput unless http.saveCookies is set.\n+\n+http.saveCookies::\n+\tIf set, store cookies received during requests to the file specified by\n+\thttp.cookieFile. Has no effect if http.cookieFile is unset.\n+\n+http.sslVersion::\n+\tThe SSL version to use when negotiating an SSL connection, if you\n+\twant to force the default.  The available and default version\n+\tdepend on whether libcurl was built against NSS or OpenSSL and the\n+\tparticular configuration of the crypto library in use. Internally\n+\tthis sets the 'CURLOPT_SSL_VERSION' option; see the libcurl\n+\tdocumentation for more details on the format of this option and\n+\tfor the ssl version supported. Actually the possible values of\n+\tthis option are:\n+\n+\t- sslv2\n+\t- sslv3\n+\t- tlsv1\n+\t- tlsv1.0\n+\t- tlsv1.1\n+\t- tlsv1.2\n+\t- tlsv1.3\n+\n++\n+Can be overridden by the `GIT_SSL_VERSION` environment variable.\n+To force git to use libcurl's default ssl version and ignore any\n+explicit http.sslversion option, set `GIT_SSL_VERSION` to the\n+empty string.\n+\n+http.sslCipherList::\n+  A list of SSL ciphers to use when negotiating an SSL connection.\n+  The available ciphers depend on whether libcurl was built against\n+  NSS or OpenSSL and the particular configuration of the crypto\n+  library in use.  Internally this sets the 'CURLOPT_SSL_CIPHER_LIST'\n+  option; see the libcurl documentation for more details on the format\n+  of this list.\n++\n+Can be overridden by the `GIT_SSL_CIPHER_LIST` environment variable.\n+To force git to use libcurl's default cipher list and ignore any\n+explicit http.sslCipherList option, set `GIT_SSL_CIPHER_LIST` to the\n+empty string.\n+\n+http.sslVerify::\n+\tWhether to verify the SSL certificate when fetching or pushing\n+\tover HTTPS. Defaults to true. Can be overridden by the\n+\t`GIT_SSL_NO_VERIFY` environment variable.\n+\n+http.sslCert::\n+\tFile containing the SSL certificate when fetching or pushing\n+\tover HTTPS. Can be overridden by the `GIT_SSL_CERT` environment\n+\tvariable.\n+\n+http.sslKey::\n+\tFile containing the SSL private key when fetching or pushing\n+\tover HTTPS. Can be overridden by the `GIT_SSL_KEY` environment\n+\tvariable.\n+\n+http.sslCertPasswordProtected::\n+\tEnable Git's password prompt for the SSL certificate.  Otherwise\n+\tOpenSSL will prompt the user, possibly many times, if the\n+\tcertificate or private key is encrypted.  Can be overridden by the\n+\t`GIT_SSL_CERT_PASSWORD_PROTECTED` environment variable.\n+\n+http.sslCAInfo::\n+\tFile containing the certificates to verify the peer with when\n+\tfetching or pushing over HTTPS. Can be overridden by the\n+\t`GIT_SSL_CAINFO` environment variable.\n+\n+http.sslCAPath::\n+\tPath containing files with the CA certificates to verify the peer\n+\twith when fetching or pushing over HTTPS. Can be overridden\n+\tby the `GIT_SSL_CAPATH` environment variable.\n+\n+http.sslBackend::\n+\tName of the SSL backend to use (e.g. \"openssl\" or \"schannel\").\n+\tThis option is ignored if cURL lacks support for choosing the SSL\n+\tbackend at runtime.\n+\n+http.schannelCheckRevoke::\n+\tUsed to enforce or disable certificate revocation checks in cURL\n+\twhen http.sslBackend is set to \"schannel\". Defaults to `true` if\n+\tunset. Only necessary to disable this if Git consistently errors\n+\tand the message is about checking the revocation status of a\n+\tcertificate. This option is ignored if cURL lacks support for\n+\tsetting the relevant SSL option at runtime.\n+\n+http.schannelUseSSLCAInfo::\n+\tAs of cURL v7.60.0, the Secure Channel backend can use the\n+\tcertificate bundle provided via `http.sslCAInfo`, but that would\n+\toverride the Windows Certificate Store. Since this is not desirable\n+\tby default, Git will tell cURL not to use that bundle by default\n+\twhen the `schannel` backend was configured via `http.sslBackend`,\n+\tunless `http.schannelUseSSLCAInfo` overrides this behavior.\n+\n+http.pinnedpubkey::\n+\tPublic key of the https service. It may either be the filename of\n+\ta PEM or DER encoded public key file or a string starting with\n+\t'sha256//' followed by the base64 encoded sha256 hash of the\n+\tpublic key. See also libcurl 'CURLOPT_PINNEDPUBLICKEY'. git will\n+\texit with an error if this option is set but not supported by\n+\tcURL.\n+\n+http.sslTry::\n+\tAttempt to use AUTH SSL/TLS and encrypted data transfers\n+\twhen connecting via regular FTP protocol. This might be needed\n+\tif the FTP server requires it for security reasons or you wish\n+\tto connect securely whenever remote FTP server supports it.\n+\tDefault is false since it might trigger certificate verification\n+\terrors on misconfigured servers.\n+\n+http.maxRequests::\n+\tHow many HTTP requests to launch in parallel. Can be overridden\n+\tby the `GIT_HTTP_MAX_REQUESTS` environment variable. Default is 5.\n+\n+http.minSessions::\n+\tThe number of curl sessions (counted across slots) to be kept across\n+\trequests. They will not be ended with curl_easy_cleanup() until\n+\thttp_cleanup() is invoked. If USE_CURL_MULTI is not defined, this\n+\tvalue will be capped at 1. Defaults to 1.\n+\n+http.postBuffer::\n+\tMaximum size in bytes of the buffer used by smart HTTP\n+\ttransports when POSTing data to the remote system.\n+\tFor requests larger than this buffer size, HTTP/1.1 and\n+\tTransfer-Encoding: chunked is used to avoid creating a\n+\tmassive pack file locally.  Default is 1 MiB, which is\n+\tsufficient for most requests.\n+\n+http.lowSpeedLimit, http.lowSpeedTime::\n+\tIf the HTTP transfer speed is less than 'http.lowSpeedLimit'\n+\tfor longer than 'http.lowSpeedTime' seconds, the transfer is aborted.\n+\tCan be overridden by the `GIT_HTTP_LOW_SPEED_LIMIT` and\n+\t`GIT_HTTP_LOW_SPEED_TIME` environment variables.\n+\n+http.noEPSV::\n+\tA boolean which disables using of EPSV ftp command by curl.\n+\tThis can helpful with some \"poor\" ftp servers which don't\n+\tsupport EPSV mode. Can be overridden by the `GIT_CURL_FTP_NO_EPSV`\n+\tenvironment variable. Default is false (curl will use EPSV).\n+\n+http.userAgent::\n+\tThe HTTP USER_AGENT string presented to an HTTP server.  The default\n+\tvalue represents the version of the client Git such as git/1.7.1.\n+\tThis option allows you to override this value to a more common value\n+\tsuch as Mozilla/4.0.  This may be necessary, for instance, if\n+\tconnecting through a firewall that restricts HTTP connections to a set\n+\tof common USER_AGENT strings (but not including those like git/1.7.1).\n+\tCan be overridden by the `GIT_HTTP_USER_AGENT` environment variable.\n+\n+http.followRedirects::\n+\tWhether git should follow HTTP redirects. If set to `true`, git\n+\twill transparently follow any redirect issued by a server it\n+\tencounters. If set to `false`, git will treat all redirects as\n+\terrors. If set to `initial`, git will follow redirects only for\n+\tthe initial request to a remote, but not for subsequent\n+\tfollow-up HTTP requests. Since git uses the redirected URL as\n+\tthe base for the follow-up requests, this is generally\n+\tsufficient. The default is `initial`.\n+\n+http.<url>.*::\n+\tAny of the http.* options above can be applied selectively to some URLs.\n+\tFor a config key to match a URL, each element of the config key is\n+\tcompared to that of the URL, in the following order:\n++\n+--\n+. Scheme (e.g., `https` in `https://example.com/`). This field\n+  must match exactly between the config key and the URL.\n+\n+. Host/domain name (e.g., `example.com` in `https://example.com/`).\n+  This field must match between the config key and the URL. It is\n+  possible to specify a `*` as part of the host name to match all subdomains\n+  at this level. `https://*.example.com/` for example would match\n+  `https://foo.example.com/`, but not `https://foo.bar.example.com/`.\n+\n+. Port number (e.g., `8080` in `http://example.com:8080/`).\n+  This field must match exactly between the config key and the URL.\n+  Omitted port numbers are automatically converted to the correct\n+  default for the scheme before matching.\n+\n+. Path (e.g., `repo.git` in `https://example.com/repo.git`). The\n+  path field of the config key must match the path field of the URL\n+  either exactly or as a prefix of slash-delimited path elements.  This means\n+  a config key with path `foo/` matches URL path `foo/bar`.  A prefix can only\n+  match on a slash (`/`) boundary.  Longer matches take precedence (so a config\n+  key with path `foo/bar` is a better match to URL path `foo/bar` than a config\n+  key with just path `foo/`).\n+\n+. User name (e.g., `user` in `https://user@example.com/repo.git`). If\n+  the config key has a user name it must match the user name in the\n+  URL exactly. If the config key does not have a user name, that\n+  config key will match a URL with any user name (including none),\n+  but at a lower precedence than a config key with a user name.\n+--\n++\n+The list above is ordered by decreasing precedence; a URL that matches\n+a config key's path is preferred to one that matches its user name. For example,\n+if the URL is `https://user@example.com/foo/bar` a config key match of\n+`https://example.com/foo` will be preferred over a config key match of\n+`https://user@example.com`.\n++\n+All URLs are normalized before attempting any matching (the password part,\n+if embedded in the URL, is always ignored for matching purposes) so that\n+equivalent URLs that are simply spelled differently will match properly.\n+Environment variable settings always override any matches.  The URLs that are\n+matched against are those given directly to Git commands.  This means any URLs\n+visited as a result of a redirection do not participate in matching.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361702","messageId":"20181027062351.30446-37-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 36/78] config.txt: move i18n.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:09Z","receivedAt":"2018-10-27T06:24:43Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt      | 11 +----------\n Documentation/config/i18n.txt | 10 ++++++++++\n 2 files changed, 11 insertions(+), 10 deletions(-)\n create mode 100644 Documentation/config/i18n.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 11194e1851..a44e717f30 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -351,16 +351,7 @@ include::config/help.txt[]\n \n include::config/http.txt[]\n \n-i18n.commitEncoding::\n-\tCharacter encoding the commit messages are stored in; Git itself\n-\tdoes not care per se, but this information is necessary e.g. when\n-\timporting commits from emails or in the gitk graphical history\n-\tbrowser (and possibly at other places in the future or in other\n-\tporcelains). See e.g. linkgit:git-mailinfo[1]. Defaults to 'utf-8'.\n-\n-i18n.logOutputEncoding::\n-\tCharacter encoding the commit messages are converted to when\n-\trunning 'git log' and friends.\n+include::config/i18n.txt[]\n \n imap::\n \tThe configuration variables in the 'imap' section are described\ndiff --git a/Documentation/config/i18n.txt b/Documentation/config/i18n.txt\nnew file mode 100644\nindex 0000000000..cc25621731\n--- /dev/null\n+++ b/Documentation/config/i18n.txt\n@@ -0,0 +1,10 @@\n+i18n.commitEncoding::\n+\tCharacter encoding the commit messages are stored in; Git itself\n+\tdoes not care per se, but this information is necessary e.g. when\n+\timporting commits from emails or in the gitk graphical history\n+\tbrowser (and possibly at other places in the future or in other\n+\tporcelains). See e.g. linkgit:git-mailinfo[1]. Defaults to 'utf-8'.\n+\n+i18n.logOutputEncoding::\n+\tCharacter encoding the commit messages are converted to when\n+\trunning 'git log' and friends.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361703","messageId":"20181027062351.30446-38-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 37/78] git-imap-send.txt: move imap.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:10Z","receivedAt":"2018-10-27T06:24:47Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt        |  4 +--\n Documentation/config/imap.txt   | 44 ++++++++++++++++++++++++++++++++\n Documentation/git-imap-send.txt | 45 +--------------------------------\n 3 files changed, 46 insertions(+), 47 deletions(-)\n create mode 100644 Documentation/config/imap.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex a44e717f30..d26656df95 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -353,9 +353,7 @@ include::config/http.txt[]\n \n include::config/i18n.txt[]\n \n-imap::\n-\tThe configuration variables in the 'imap' section are described\n-\tin linkgit:git-imap-send[1].\n+include::config/imap.txt[]\n \n index.threads::\n \tSpecifies the number of threads to spawn when loading the index.\ndiff --git a/Documentation/config/imap.txt b/Documentation/config/imap.txt\nnew file mode 100644\nindex 0000000000..06166fb5c0\n--- /dev/null\n+++ b/Documentation/config/imap.txt\n@@ -0,0 +1,44 @@\n+imap.folder::\n+\tThe folder to drop the mails into, which is typically the Drafts\n+\tfolder. For example: \"INBOX.Drafts\", \"INBOX/Drafts\" or\n+\t\"[Gmail]/Drafts\". Required.\n+\n+imap.tunnel::\n+\tCommand used to setup a tunnel to the IMAP server through which\n+\tcommands will be piped instead of using a direct network connection\n+\tto the server. Required when imap.host is not set.\n+\n+imap.host::\n+\tA URL identifying the server. Use an `imap://` prefix for non-secure\n+\tconnections and an `imaps://` prefix for secure connections.\n+\tIgnored when imap.tunnel is set, but required otherwise.\n+\n+imap.user::\n+\tThe username to use when logging in to the server.\n+\n+imap.pass::\n+\tThe password to use when logging in to the server.\n+\n+imap.port::\n+\tAn integer port number to connect to on the server.\n+\tDefaults to 143 for imap:// hosts and 993 for imaps:// hosts.\n+\tIgnored when imap.tunnel is set.\n+\n+imap.sslverify::\n+\tA boolean to enable/disable verification of the server certificate\n+\tused by the SSL/TLS connection. Default is `true`. Ignored when\n+\timap.tunnel is set.\n+\n+imap.preformattedHTML::\n+\tA boolean to enable/disable the use of html encoding when sending\n+\ta patch.  An html encoded patch will be bracketed with <pre>\n+\tand have a content type of text/html.  Ironically, enabling this\n+\toption causes Thunderbird to send the patch as a plain/text,\n+\tformat=fixed email.  Default is `false`.\n+\n+imap.authMethod::\n+\tSpecify authenticate method for authentication with IMAP server.\n+\tIf Git was built with the NO_CURL option, or if your curl version is older\n+\tthan 7.34.0, or if you're running git-imap-send with the `--no-curl`\n+\toption, the only supported method is 'CRAM-MD5'. If this is not set\n+\tthen 'git imap-send' uses the basic IMAP plaintext LOGIN command.\ndiff --git a/Documentation/git-imap-send.txt b/Documentation/git-imap-send.txt\nindex 7b157441eb..65b53fcc47 100644\n--- a/Documentation/git-imap-send.txt\n+++ b/Documentation/git-imap-send.txt\n@@ -57,50 +57,7 @@ to appropriate values.\n Variables\n ~~~~~~~~~\n \n-imap.folder::\n-\tThe folder to drop the mails into, which is typically the Drafts\n-\tfolder. For example: \"INBOX.Drafts\", \"INBOX/Drafts\" or\n-\t\"[Gmail]/Drafts\". Required.\n-\n-imap.tunnel::\n-\tCommand used to setup a tunnel to the IMAP server through which\n-\tcommands will be piped instead of using a direct network connection\n-\tto the server. Required when imap.host is not set.\n-\n-imap.host::\n-\tA URL identifying the server. Use an `imap://` prefix for non-secure\n-\tconnections and an `imaps://` prefix for secure connections.\n-\tIgnored when imap.tunnel is set, but required otherwise.\n-\n-imap.user::\n-\tThe username to use when logging in to the server.\n-\n-imap.pass::\n-\tThe password to use when logging in to the server.\n-\n-imap.port::\n-\tAn integer port number to connect to on the server.\n-\tDefaults to 143 for imap:// hosts and 993 for imaps:// hosts.\n-\tIgnored when imap.tunnel is set.\n-\n-imap.sslverify::\n-\tA boolean to enable/disable verification of the server certificate\n-\tused by the SSL/TLS connection. Default is `true`. Ignored when\n-\timap.tunnel is set.\n-\n-imap.preformattedHTML::\n-\tA boolean to enable/disable the use of html encoding when sending\n-\ta patch.  An html encoded patch will be bracketed with <pre>\n-\tand have a content type of text/html.  Ironically, enabling this\n-\toption causes Thunderbird to send the patch as a plain/text,\n-\tformat=fixed email.  Default is `false`.\n-\n-imap.authMethod::\n-\tSpecify authenticate method for authentication with IMAP server.\n-\tIf Git was built with the NO_CURL option, or if your curl version is older\n-\tthan 7.34.0, or if you're running git-imap-send with the `--no-curl`\n-\toption, the only supported method is 'CRAM-MD5'. If this is not set\n-\tthen 'git imap-send' uses the basic IMAP plaintext LOGIN command.\n+include::config/imap.txt[]\n \n Examples\n ~~~~~~~~\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361704","messageId":"20181027062351.30446-42-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 41/78] config.txt: move interactive.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:14Z","receivedAt":"2018-10-27T06:24:47Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt             | 17 +----------------\n Documentation/config/interactive.txt | 16 ++++++++++++++++\n 2 files changed, 17 insertions(+), 16 deletions(-)\n create mode 100644 Documentation/config/interactive.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 5b6e2971e3..763bb291e5 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -361,22 +361,7 @@ include::config/init.txt[]\n \n include::config/instaweb.txt[]\n \n-interactive.singleKey::\n-\tIn interactive commands, allow the user to provide one-letter\n-\tinput with a single key (i.e., without hitting enter).\n-\tCurrently this is used by the `--patch` mode of\n-\tlinkgit:git-add[1], linkgit:git-checkout[1], linkgit:git-commit[1],\n-\tlinkgit:git-reset[1], and linkgit:git-stash[1]. Note that this\n-\tsetting is silently ignored if portable keystroke input\n-\tis not available; requires the Perl module Term::ReadKey.\n-\n-interactive.diffFilter::\n-\tWhen an interactive command (such as `git add --patch`) shows\n-\ta colorized diff, git will pipe the diff through the shell\n-\tcommand defined by this configuration variable. The command may\n-\tmark up the diff further for human consumption, provided that it\n-\tretains a one-to-one correspondence with the lines in the\n-\toriginal diff. Defaults to disabled (no filtering).\n+include::config/interactive.txt[]\n \n log.abbrevCommit::\n \tIf true, makes linkgit:git-log[1], linkgit:git-show[1], and\ndiff --git a/Documentation/config/interactive.txt b/Documentation/config/interactive.txt\nnew file mode 100644\nindex 0000000000..ad846dd7c9\n--- /dev/null\n+++ b/Documentation/config/interactive.txt\n@@ -0,0 +1,16 @@\n+interactive.singleKey::\n+\tIn interactive commands, allow the user to provide one-letter\n+\tinput with a single key (i.e., without hitting enter).\n+\tCurrently this is used by the `--patch` mode of\n+\tlinkgit:git-add[1], linkgit:git-checkout[1], linkgit:git-commit[1],\n+\tlinkgit:git-reset[1], and linkgit:git-stash[1]. Note that this\n+\tsetting is silently ignored if portable keystroke input\n+\tis not available; requires the Perl module Term::ReadKey.\n+\n+interactive.diffFilter::\n+\tWhen an interactive command (such as `git add --patch`) shows\n+\ta colorized diff, git will pipe the diff through the shell\n+\tcommand defined by this configuration variable. The command may\n+\tmark up the diff further for human consumption, provided that it\n+\tretains a one-to-one correspondence with the lines in the\n+\toriginal diff. Defaults to disabled (no filtering).\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361705","messageId":"20181027062351.30446-40-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 39/78] config.txt: move init.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:12Z","receivedAt":"2018-10-27T06:24:49Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt      | 4 +---\n Documentation/config/init.txt | 3 +++\n 2 files changed, 4 insertions(+), 3 deletions(-)\n create mode 100644 Documentation/config/init.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 03b7ac75fc..94b14af9f3 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -357,9 +357,7 @@ include::config/imap.txt[]\n \n include::config/index.txt[]\n \n-init.templateDir::\n-\tSpecify the directory from which templates will be copied.\n-\t(See the \"TEMPLATE DIRECTORY\" section of linkgit:git-init[1].)\n+include::config/init.txt[]\n \n instaweb.browser::\n \tSpecify the program that will be used to browse your working\ndiff --git a/Documentation/config/init.txt b/Documentation/config/init.txt\nnew file mode 100644\nindex 0000000000..46fa8c6a08\n--- /dev/null\n+++ b/Documentation/config/init.txt\n@@ -0,0 +1,3 @@\n+init.templateDir::\n+\tSpecify the directory from which templates will be copied.\n+\t(See the \"TEMPLATE DIRECTORY\" section of linkgit:git-init[1].)\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361706","messageId":"20181027062351.30446-44-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 43/78] config.txt: move mailinfo.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:16Z","receivedAt":"2018-10-27T06:24:50Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt          | 7 +------\n Documentation/config/mailinfo.txt | 6 ++++++\n 2 files changed, 7 insertions(+), 6 deletions(-)\n create mode 100644 Documentation/config/mailinfo.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex cce89ea50c..585d55d03d 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -365,12 +365,7 @@ include::config/interactive.txt[]\n \n include::config/log.txt[]\n \n-mailinfo.scissors::\n-\tIf true, makes linkgit:git-mailinfo[1] (and therefore\n-\tlinkgit:git-am[1]) act by default as if the --scissors option\n-\twas provided on the command-line. When active, this features\n-\tremoves everything from the message body before a scissors\n-\tline (i.e. consisting mainly of \">8\", \"8<\" and \"-\").\n+include::config/mailinfo.txt[]\n \n mailmap.file::\n \tThe location of an augmenting mailmap file. The default\ndiff --git a/Documentation/config/mailinfo.txt b/Documentation/config/mailinfo.txt\nnew file mode 100644\nindex 0000000000..3854d4ae37\n--- /dev/null\n+++ b/Documentation/config/mailinfo.txt\n@@ -0,0 +1,6 @@\n+mailinfo.scissors::\n+\tIf true, makes linkgit:git-mailinfo[1] (and therefore\n+\tlinkgit:git-am[1]) act by default as if the --scissors option\n+\twas provided on the command-line. When active, this features\n+\tremoves everything from the message body before a scissors\n+\tline (i.e. consisting mainly of \">8\", \"8<\" and \"-\").\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361707","messageId":"20181027062351.30446-45-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 44/78] config.txt: move mailmap.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:17Z","receivedAt":"2018-10-27T06:24:51Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt         | 16 +---------------\n Documentation/config/mailmap.txt | 15 +++++++++++++++\n 2 files changed, 16 insertions(+), 15 deletions(-)\n create mode 100644 Documentation/config/mailmap.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 585d55d03d..ff9c8797a6 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -367,21 +367,7 @@ include::config/log.txt[]\n \n include::config/mailinfo.txt[]\n \n-mailmap.file::\n-\tThe location of an augmenting mailmap file. The default\n-\tmailmap, located in the root of the repository, is loaded\n-\tfirst, then the mailmap file pointed to by this variable.\n-\tThe location of the mailmap file may be in a repository\n-\tsubdirectory, or somewhere outside of the repository itself.\n-\tSee linkgit:git-shortlog[1] and linkgit:git-blame[1].\n-\n-mailmap.blob::\n-\tLike `mailmap.file`, but consider the value as a reference to a\n-\tblob in the repository. If both `mailmap.file` and\n-\t`mailmap.blob` are given, both are parsed, with entries from\n-\t`mailmap.file` taking precedence. In a bare repository, this\n-\tdefaults to `HEAD:.mailmap`. In a non-bare repository, it\n-\tdefaults to empty.\n+include::config/mailmap.txt[]\n \n man.viewer::\n \tSpecify the programs that may be used to display help in the\ndiff --git a/Documentation/config/mailmap.txt b/Documentation/config/mailmap.txt\nnew file mode 100644\nindex 0000000000..48cbc30722\n--- /dev/null\n+++ b/Documentation/config/mailmap.txt\n@@ -0,0 +1,15 @@\n+mailmap.file::\n+\tThe location of an augmenting mailmap file. The default\n+\tmailmap, located in the root of the repository, is loaded\n+\tfirst, then the mailmap file pointed to by this variable.\n+\tThe location of the mailmap file may be in a repository\n+\tsubdirectory, or somewhere outside of the repository itself.\n+\tSee linkgit:git-shortlog[1] and linkgit:git-blame[1].\n+\n+mailmap.blob::\n+\tLike `mailmap.file`, but consider the value as a reference to a\n+\tblob in the repository. If both `mailmap.file` and\n+\t`mailmap.blob` are given, both are parsed, with entries from\n+\t`mailmap.file` taking precedence. In a bare repository, this\n+\tdefaults to `HEAD:.mailmap`. In a non-bare repository, it\n+\tdefaults to empty.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361708","messageId":"20181027062351.30446-46-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 45/78] config.txt: move man.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:18Z","receivedAt":"2018-10-27T06:24:52Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt     | 13 +------------\n Documentation/config/man.txt | 12 ++++++++++++\n 2 files changed, 13 insertions(+), 12 deletions(-)\n create mode 100644 Documentation/config/man.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex ff9c8797a6..c3c92bc269 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -369,18 +369,7 @@ include::config/mailinfo.txt[]\n \n include::config/mailmap.txt[]\n \n-man.viewer::\n-\tSpecify the programs that may be used to display help in the\n-\t'man' format. See linkgit:git-help[1].\n-\n-man.<tool>.cmd::\n-\tSpecify the command to invoke the specified man viewer. The\n-\tspecified command is evaluated in shell with the man page\n-\tpassed as argument. (See linkgit:git-help[1].)\n-\n-man.<tool>.path::\n-\tOverride the path for the given tool that may be used to\n-\tdisplay help in the 'man' format. See linkgit:git-help[1].\n+include::config/man.txt[]\n \n include::merge-config.txt[]\n \ndiff --git a/Documentation/config/man.txt b/Documentation/config/man.txt\nnew file mode 100644\nindex 0000000000..a727d987a8\n--- /dev/null\n+++ b/Documentation/config/man.txt\n@@ -0,0 +1,12 @@\n+man.viewer::\n+\tSpecify the programs that may be used to display help in the\n+\t'man' format. See linkgit:git-help[1].\n+\n+man.<tool>.cmd::\n+\tSpecify the command to invoke the specified man viewer. The\n+\tspecified command is evaluated in shell with the man page\n+\tpassed as argument. (See linkgit:git-help[1].)\n+\n+man.<tool>.path::\n+\tOverride the path for the given tool that may be used to\n+\tdisplay help in the 'man' format. See linkgit:git-help[1].\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361709","messageId":"20181027062351.30446-47-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 46/78] config.txt: move merge-config.txt to config/","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:19Z","receivedAt":"2018-10-27T06:24:53Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt                             | 2 +-\n Documentation/{merge-config.txt => config/merge.txt} | 4 ++--\n Documentation/git-merge.txt                          | 2 +-\n 3 files changed, 4 insertions(+), 4 deletions(-)\n rename Documentation/{merge-config.txt => config/merge.txt} (98%)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex c3c92bc269..441787e815 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -371,7 +371,7 @@ include::config/mailmap.txt[]\n \n include::config/man.txt[]\n \n-include::merge-config.txt[]\n+include::config/merge.txt[]\n \n mergetool.<tool>.path::\n \tOverride the path for the given tool.  This is useful in case\ndiff --git a/Documentation/merge-config.txt b/Documentation/config/merge.txt\nsimilarity index 98%\nrename from Documentation/merge-config.txt\nrename to Documentation/config/merge.txt\nindex 0bb703fbac..321d1c8ba9 100644\n--- a/Documentation/merge-config.txt\n+++ b/Documentation/config/merge.txt\n@@ -30,7 +30,7 @@ merge.verifySignatures::\n \tIf true, this is equivalent to the --verify-signatures command\n \tline option. See linkgit:git-merge[1] for details.\n \n-include::config/fmt-merge-msg.txt[]\n+include::fmt-merge-msg.txt[]\n \n merge.renameLimit::\n \tThe number of files to consider when performing rename detection\n@@ -63,7 +63,7 @@ merge.tool::\n \tAny other value is treated as a custom merge tool and requires\n \tthat a corresponding mergetool.<tool>.cmd variable is defined.\n \n-include::mergetools-merge.txt[]\n+include::../mergetools-merge.txt[]\n \n merge.verbosity::\n \tControls the amount of output shown by the recursive merge\ndiff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt\nindex eb36837f86..4cc86469f3 100644\n--- a/Documentation/git-merge.txt\n+++ b/Documentation/git-merge.txt\n@@ -342,7 +342,7 @@ include::merge-strategies.txt[]\n \n CONFIGURATION\n -------------\n-include::merge-config.txt[]\n+include::config/merge.txt[]\n \n branch.<name>.mergeOptions::\n \tSets default options for merging into branch <name>. The syntax and\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361710","messageId":"20181027062351.30446-41-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 40/78] config.txt: move instaweb.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:13Z","receivedAt":"2018-10-27T06:24:55Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt          | 21 +--------------------\n Documentation/config/instaweb.txt | 20 ++++++++++++++++++++\n 2 files changed, 21 insertions(+), 20 deletions(-)\n create mode 100644 Documentation/config/instaweb.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 94b14af9f3..5b6e2971e3 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -359,26 +359,7 @@ include::config/index.txt[]\n \n include::config/init.txt[]\n \n-instaweb.browser::\n-\tSpecify the program that will be used to browse your working\n-\trepository in gitweb. See linkgit:git-instaweb[1].\n-\n-instaweb.httpd::\n-\tThe HTTP daemon command-line to start gitweb on your working\n-\trepository. See linkgit:git-instaweb[1].\n-\n-instaweb.local::\n-\tIf true the web server started by linkgit:git-instaweb[1] will\n-\tbe bound to the local IP (127.0.0.1).\n-\n-instaweb.modulePath::\n-\tThe default module path for linkgit:git-instaweb[1] to use\n-\tinstead of /usr/lib/apache2/modules.  Only used if httpd\n-\tis Apache.\n-\n-instaweb.port::\n-\tThe port number to bind the gitweb httpd to. See\n-\tlinkgit:git-instaweb[1].\n+include::config/instaweb.txt[]\n \n interactive.singleKey::\n \tIn interactive commands, allow the user to provide one-letter\ndiff --git a/Documentation/config/instaweb.txt b/Documentation/config/instaweb.txt\nnew file mode 100644\nindex 0000000000..50cb2f7d62\n--- /dev/null\n+++ b/Documentation/config/instaweb.txt\n@@ -0,0 +1,20 @@\n+instaweb.browser::\n+\tSpecify the program that will be used to browse your working\n+\trepository in gitweb. See linkgit:git-instaweb[1].\n+\n+instaweb.httpd::\n+\tThe HTTP daemon command-line to start gitweb on your working\n+\trepository. See linkgit:git-instaweb[1].\n+\n+instaweb.local::\n+\tIf true the web server started by linkgit:git-instaweb[1] will\n+\tbe bound to the local IP (127.0.0.1).\n+\n+instaweb.modulePath::\n+\tThe default module path for linkgit:git-instaweb[1] to use\n+\tinstead of /usr/lib/apache2/modules.  Only used if httpd\n+\tis Apache.\n+\n+instaweb.port::\n+\tThe port number to bind the gitweb httpd to. See\n+\tlinkgit:git-instaweb[1].\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361711","messageId":"20181027062351.30446-48-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 47/78] config.txt: move mergetool.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:20Z","receivedAt":"2018-10-27T06:24:55Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt           | 54 +-----------------------------\n Documentation/config/mergetool.txt | 53 +++++++++++++++++++++++++++++\n 2 files changed, 54 insertions(+), 53 deletions(-)\n create mode 100644 Documentation/config/mergetool.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 441787e815..35a6b4e0e0 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -373,59 +373,7 @@ include::config/man.txt[]\n \n include::config/merge.txt[]\n \n-mergetool.<tool>.path::\n-\tOverride the path for the given tool.  This is useful in case\n-\tyour tool is not in the PATH.\n-\n-mergetool.<tool>.cmd::\n-\tSpecify the command to invoke the specified merge tool.  The\n-\tspecified command is evaluated in shell with the following\n-\tvariables available: 'BASE' is the name of a temporary file\n-\tcontaining the common base of the files to be merged, if available;\n-\t'LOCAL' is the name of a temporary file containing the contents of\n-\tthe file on the current branch; 'REMOTE' is the name of a temporary\n-\tfile containing the contents of the file from the branch being\n-\tmerged; 'MERGED' contains the name of the file to which the merge\n-\ttool should write the results of a successful merge.\n-\n-mergetool.<tool>.trustExitCode::\n-\tFor a custom merge command, specify whether the exit code of\n-\tthe merge command can be used to determine whether the merge was\n-\tsuccessful.  If this is not set to true then the merge target file\n-\ttimestamp is checked and the merge assumed to have been successful\n-\tif the file has been updated, otherwise the user is prompted to\n-\tindicate the success of the merge.\n-\n-mergetool.meld.hasOutput::\n-\tOlder versions of `meld` do not support the `--output` option.\n-\tGit will attempt to detect whether `meld` supports `--output`\n-\tby inspecting the output of `meld --help`.  Configuring\n-\t`mergetool.meld.hasOutput` will make Git skip these checks and\n-\tuse the configured value instead.  Setting `mergetool.meld.hasOutput`\n-\tto `true` tells Git to unconditionally use the `--output` option,\n-\tand `false` avoids using `--output`.\n-\n-mergetool.keepBackup::\n-\tAfter performing a merge, the original file with conflict markers\n-\tcan be saved as a file with a `.orig` extension.  If this variable\n-\tis set to `false` then this file is not preserved.  Defaults to\n-\t`true` (i.e. keep the backup files).\n-\n-mergetool.keepTemporaries::\n-\tWhen invoking a custom merge tool, Git uses a set of temporary\n-\tfiles to pass to the tool. If the tool returns an error and this\n-\tvariable is set to `true`, then these temporary files will be\n-\tpreserved, otherwise they will be removed after the tool has\n-\texited. Defaults to `false`.\n-\n-mergetool.writeToTemp::\n-\tGit writes temporary 'BASE', 'LOCAL', and 'REMOTE' versions of\n-\tconflicting files in the worktree by default.  Git will attempt\n-\tto use a temporary directory for these files when set `true`.\n-\tDefaults to `false`.\n-\n-mergetool.prompt::\n-\tPrompt before each invocation of the merge resolution program.\n+include::config/mergetool.txt[]\n \n notes.mergeStrategy::\n \tWhich merge strategy to choose by default when resolving notes\ndiff --git a/Documentation/config/mergetool.txt b/Documentation/config/mergetool.txt\nnew file mode 100644\nindex 0000000000..09ed31dbfa\n--- /dev/null\n+++ b/Documentation/config/mergetool.txt\n@@ -0,0 +1,53 @@\n+mergetool.<tool>.path::\n+\tOverride the path for the given tool.  This is useful in case\n+\tyour tool is not in the PATH.\n+\n+mergetool.<tool>.cmd::\n+\tSpecify the command to invoke the specified merge tool.  The\n+\tspecified command is evaluated in shell with the following\n+\tvariables available: 'BASE' is the name of a temporary file\n+\tcontaining the common base of the files to be merged, if available;\n+\t'LOCAL' is the name of a temporary file containing the contents of\n+\tthe file on the current branch; 'REMOTE' is the name of a temporary\n+\tfile containing the contents of the file from the branch being\n+\tmerged; 'MERGED' contains the name of the file to which the merge\n+\ttool should write the results of a successful merge.\n+\n+mergetool.<tool>.trustExitCode::\n+\tFor a custom merge command, specify whether the exit code of\n+\tthe merge command can be used to determine whether the merge was\n+\tsuccessful.  If this is not set to true then the merge target file\n+\ttimestamp is checked and the merge assumed to have been successful\n+\tif the file has been updated, otherwise the user is prompted to\n+\tindicate the success of the merge.\n+\n+mergetool.meld.hasOutput::\n+\tOlder versions of `meld` do not support the `--output` option.\n+\tGit will attempt to detect whether `meld` supports `--output`\n+\tby inspecting the output of `meld --help`.  Configuring\n+\t`mergetool.meld.hasOutput` will make Git skip these checks and\n+\tuse the configured value instead.  Setting `mergetool.meld.hasOutput`\n+\tto `true` tells Git to unconditionally use the `--output` option,\n+\tand `false` avoids using `--output`.\n+\n+mergetool.keepBackup::\n+\tAfter performing a merge, the original file with conflict markers\n+\tcan be saved as a file with a `.orig` extension.  If this variable\n+\tis set to `false` then this file is not preserved.  Defaults to\n+\t`true` (i.e. keep the backup files).\n+\n+mergetool.keepTemporaries::\n+\tWhen invoking a custom merge tool, Git uses a set of temporary\n+\tfiles to pass to the tool. If the tool returns an error and this\n+\tvariable is set to `true`, then these temporary files will be\n+\tpreserved, otherwise they will be removed after the tool has\n+\texited. Defaults to `false`.\n+\n+mergetool.writeToTemp::\n+\tGit writes temporary 'BASE', 'LOCAL', and 'REMOTE' versions of\n+\tconflicting files in the worktree by default.  Git will attempt\n+\tto use a temporary directory for these files when set `true`.\n+\tDefaults to `false`.\n+\n+mergetool.prompt::\n+\tPrompt before each invocation of the merge resolution program.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361712","messageId":"20181027062351.30446-49-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 48/78] config.txt: move notes.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:21Z","receivedAt":"2018-10-27T06:24:56Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt       | 60 +---------------------------------\n Documentation/config/notes.txt | 59 +++++++++++++++++++++++++++++++++\n 2 files changed, 60 insertions(+), 59 deletions(-)\n create mode 100644 Documentation/config/notes.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 35a6b4e0e0..babe2e5682 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -375,65 +375,7 @@ include::config/merge.txt[]\n \n include::config/mergetool.txt[]\n \n-notes.mergeStrategy::\n-\tWhich merge strategy to choose by default when resolving notes\n-\tconflicts.  Must be one of `manual`, `ours`, `theirs`, `union`, or\n-\t`cat_sort_uniq`.  Defaults to `manual`.  See \"NOTES MERGE STRATEGIES\"\n-\tsection of linkgit:git-notes[1] for more information on each strategy.\n-\n-notes.<name>.mergeStrategy::\n-\tWhich merge strategy to choose when doing a notes merge into\n-\trefs/notes/<name>.  This overrides the more general\n-\t\"notes.mergeStrategy\".  See the \"NOTES MERGE STRATEGIES\" section in\n-\tlinkgit:git-notes[1] for more information on the available strategies.\n-\n-notes.displayRef::\n-\tThe (fully qualified) refname from which to show notes when\n-\tshowing commit messages.  The value of this variable can be set\n-\tto a glob, in which case notes from all matching refs will be\n-\tshown.  You may also specify this configuration variable\n-\tseveral times.  A warning will be issued for refs that do not\n-\texist, but a glob that does not match any refs is silently\n-\tignored.\n-+\n-This setting can be overridden with the `GIT_NOTES_DISPLAY_REF`\n-environment variable, which must be a colon separated list of refs or\n-globs.\n-+\n-The effective value of \"core.notesRef\" (possibly overridden by\n-GIT_NOTES_REF) is also implicitly added to the list of refs to be\n-displayed.\n-\n-notes.rewrite.<command>::\n-\tWhen rewriting commits with <command> (currently `amend` or\n-\t`rebase`) and this variable is set to `true`, Git\n-\tautomatically copies your notes from the original to the\n-\trewritten commit.  Defaults to `true`, but see\n-\t\"notes.rewriteRef\" below.\n-\n-notes.rewriteMode::\n-\tWhen copying notes during a rewrite (see the\n-\t\"notes.rewrite.<command>\" option), determines what to do if\n-\tthe target commit already has a note.  Must be one of\n-\t`overwrite`, `concatenate`, `cat_sort_uniq`, or `ignore`.\n-\tDefaults to `concatenate`.\n-+\n-This setting can be overridden with the `GIT_NOTES_REWRITE_MODE`\n-environment variable.\n-\n-notes.rewriteRef::\n-\tWhen copying notes during a rewrite, specifies the (fully\n-\tqualified) ref whose notes should be copied.  The ref may be a\n-\tglob, in which case notes in all matching refs will be copied.\n-\tYou may also specify this configuration several times.\n-+\n-Does not have a default value; you must configure this variable to\n-enable note rewriting.  Set it to `refs/notes/commits` to enable\n-rewriting for the default commit notes.\n-+\n-This setting can be overridden with the `GIT_NOTES_REWRITE_REF`\n-environment variable, which must be a colon separated list of refs or\n-globs.\n+include::config/notes.txt[]\n \n pack.window::\n \tThe size of the window used by linkgit:git-pack-objects[1] when no\ndiff --git a/Documentation/config/notes.txt b/Documentation/config/notes.txt\nnew file mode 100644\nindex 0000000000..aeef56d49a\n--- /dev/null\n+++ b/Documentation/config/notes.txt\n@@ -0,0 +1,59 @@\n+notes.mergeStrategy::\n+\tWhich merge strategy to choose by default when resolving notes\n+\tconflicts.  Must be one of `manual`, `ours`, `theirs`, `union`, or\n+\t`cat_sort_uniq`.  Defaults to `manual`.  See \"NOTES MERGE STRATEGIES\"\n+\tsection of linkgit:git-notes[1] for more information on each strategy.\n+\n+notes.<name>.mergeStrategy::\n+\tWhich merge strategy to choose when doing a notes merge into\n+\trefs/notes/<name>.  This overrides the more general\n+\t\"notes.mergeStrategy\".  See the \"NOTES MERGE STRATEGIES\" section in\n+\tlinkgit:git-notes[1] for more information on the available strategies.\n+\n+notes.displayRef::\n+\tThe (fully qualified) refname from which to show notes when\n+\tshowing commit messages.  The value of this variable can be set\n+\tto a glob, in which case notes from all matching refs will be\n+\tshown.  You may also specify this configuration variable\n+\tseveral times.  A warning will be issued for refs that do not\n+\texist, but a glob that does not match any refs is silently\n+\tignored.\n++\n+This setting can be overridden with the `GIT_NOTES_DISPLAY_REF`\n+environment variable, which must be a colon separated list of refs or\n+globs.\n++\n+The effective value of \"core.notesRef\" (possibly overridden by\n+GIT_NOTES_REF) is also implicitly added to the list of refs to be\n+displayed.\n+\n+notes.rewrite.<command>::\n+\tWhen rewriting commits with <command> (currently `amend` or\n+\t`rebase`) and this variable is set to `true`, Git\n+\tautomatically copies your notes from the original to the\n+\trewritten commit.  Defaults to `true`, but see\n+\t\"notes.rewriteRef\" below.\n+\n+notes.rewriteMode::\n+\tWhen copying notes during a rewrite (see the\n+\t\"notes.rewrite.<command>\" option), determines what to do if\n+\tthe target commit already has a note.  Must be one of\n+\t`overwrite`, `concatenate`, `cat_sort_uniq`, or `ignore`.\n+\tDefaults to `concatenate`.\n++\n+This setting can be overridden with the `GIT_NOTES_REWRITE_MODE`\n+environment variable.\n+\n+notes.rewriteRef::\n+\tWhen copying notes during a rewrite, specifies the (fully\n+\tqualified) ref whose notes should be copied.  The ref may be a\n+\tglob, in which case notes in all matching refs will be copied.\n+\tYou may also specify this configuration several times.\n++\n+Does not have a default value; you must configure this variable to\n+enable note rewriting.  Set it to `refs/notes/commits` to enable\n+rewriting for the default commit notes.\n++\n+This setting can be overridden with the `GIT_NOTES_REWRITE_REF`\n+environment variable, which must be a colon separated list of refs or\n+globs.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361713","messageId":"20181027062351.30446-51-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 50/78] config.txt: move pager.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:23Z","receivedAt":"2018-10-27T06:24:57Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt       | 9 +--------\n Documentation/config/pager.txt | 8 ++++++++\n 2 files changed, 9 insertions(+), 8 deletions(-)\n create mode 100644 Documentation/config/pager.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 4e839db64c..a7b72d2722 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -379,14 +379,7 @@ include::config/notes.txt[]\n \n include::config/pack.txt[]\n \n-pager.<cmd>::\n-\tIf the value is boolean, turns on or off pagination of the\n-\toutput of a particular Git subcommand when writing to a tty.\n-\tOtherwise, turns on pagination for the subcommand using the\n-\tpager specified by the value of `pager.<cmd>`.  If `--paginate`\n-\tor `--no-pager` is specified on the command line, it takes\n-\tprecedence over this option.  To disable pagination for all\n-\tcommands, set `core.pager` or `GIT_PAGER` to `cat`.\n+include::config/pager.txt[]\n \n pretty.<name>::\n \tAlias for a --pretty= format string, as specified in\ndiff --git a/Documentation/config/pager.txt b/Documentation/config/pager.txt\nnew file mode 100644\nindex 0000000000..d3731cf66c\n--- /dev/null\n+++ b/Documentation/config/pager.txt\n@@ -0,0 +1,8 @@\n+pager.<cmd>::\n+\tIf the value is boolean, turns on or off pagination of the\n+\toutput of a particular Git subcommand when writing to a tty.\n+\tOtherwise, turns on pagination for the subcommand using the\n+\tpager specified by the value of `pager.<cmd>`.  If `--paginate`\n+\tor `--no-pager` is specified on the command line, it takes\n+\tprecedence over this option.  To disable pagination for all\n+\tcommands, set `core.pager` or `GIT_PAGER` to `cat`.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361714","messageId":"20181027062351.30446-50-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 49/78] config.txt: move pack.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:22Z","receivedAt":"2018-10-27T06:24:59Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt      | 121 +---------------------------------\n Documentation/config/pack.txt | 120 +++++++++++++++++++++++++++++++++\n 2 files changed, 121 insertions(+), 120 deletions(-)\n create mode 100644 Documentation/config/pack.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex babe2e5682..4e839db64c 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -377,126 +377,7 @@ include::config/mergetool.txt[]\n \n include::config/notes.txt[]\n \n-pack.window::\n-\tThe size of the window used by linkgit:git-pack-objects[1] when no\n-\twindow size is given on the command line. Defaults to 10.\n-\n-pack.depth::\n-\tThe maximum delta depth used by linkgit:git-pack-objects[1] when no\n-\tmaximum depth is given on the command line. Defaults to 50.\n-\tMaximum value is 4095.\n-\n-pack.windowMemory::\n-\tThe maximum size of memory that is consumed by each thread\n-\tin linkgit:git-pack-objects[1] for pack window memory when\n-\tno limit is given on the command line.  The value can be\n-\tsuffixed with \"k\", \"m\", or \"g\".  When left unconfigured (or\n-\tset explicitly to 0), there will be no limit.\n-\n-pack.compression::\n-\tAn integer -1..9, indicating the compression level for objects\n-\tin a pack file. -1 is the zlib default. 0 means no\n-\tcompression, and 1..9 are various speed/size tradeoffs, 9 being\n-\tslowest.  If not set,  defaults to core.compression.  If that is\n-\tnot set,  defaults to -1, the zlib default, which is \"a default\n-\tcompromise between speed and compression (currently equivalent\n-\tto level 6).\"\n-+\n-Note that changing the compression level will not automatically recompress\n-all existing objects. You can force recompression by passing the -F option\n-to linkgit:git-repack[1].\n-\n-pack.island::\n-\tAn extended regular expression configuring a set of delta\n-\tislands. See \"DELTA ISLANDS\" in linkgit:git-pack-objects[1]\n-\tfor details.\n-\n-pack.islandCore::\n-\tSpecify an island name which gets to have its objects be\n-\tpacked first. This creates a kind of pseudo-pack at the front\n-\tof one pack, so that the objects from the specified island are\n-\thopefully faster to copy into any pack that should be served\n-\tto a user requesting these objects. In practice this means\n-\tthat the island specified should likely correspond to what is\n-\tthe most commonly cloned in the repo. See also \"DELTA ISLANDS\"\n-\tin linkgit:git-pack-objects[1].\n-\n-pack.deltaCacheSize::\n-\tThe maximum memory in bytes used for caching deltas in\n-\tlinkgit:git-pack-objects[1] before writing them out to a pack.\n-\tThis cache is used to speed up the writing object phase by not\n-\thaving to recompute the final delta result once the best match\n-\tfor all objects is found.  Repacking large repositories on machines\n-\twhich are tight with memory might be badly impacted by this though,\n-\tespecially if this cache pushes the system into swapping.\n-\tA value of 0 means no limit. The smallest size of 1 byte may be\n-\tused to virtually disable this cache. Defaults to 256 MiB.\n-\n-pack.deltaCacheLimit::\n-\tThe maximum size of a delta, that is cached in\n-\tlinkgit:git-pack-objects[1]. This cache is used to speed up the\n-\twriting object phase by not having to recompute the final delta\n-\tresult once the best match for all objects is found.\n-\tDefaults to 1000. Maximum value is 65535.\n-\n-pack.threads::\n-\tSpecifies the number of threads to spawn when searching for best\n-\tdelta matches.  This requires that linkgit:git-pack-objects[1]\n-\tbe compiled with pthreads otherwise this option is ignored with a\n-\twarning. This is meant to reduce packing time on multiprocessor\n-\tmachines. The required amount of memory for the delta search window\n-\tis however multiplied by the number of threads.\n-\tSpecifying 0 will cause Git to auto-detect the number of CPU's\n-\tand set the number of threads accordingly.\n-\n-pack.indexVersion::\n-\tSpecify the default pack index version.  Valid values are 1 for\n-\tlegacy pack index used by Git versions prior to 1.5.2, and 2 for\n-\tthe new pack index with capabilities for packs larger than 4 GB\n-\tas well as proper protection against the repacking of corrupted\n-\tpacks.  Version 2 is the default.  Note that version 2 is enforced\n-\tand this config option ignored whenever the corresponding pack is\n-\tlarger than 2 GB.\n-+\n-If you have an old Git that does not understand the version 2 `*.idx` file,\n-cloning or fetching over a non native protocol (e.g. \"http\")\n-that will copy both `*.pack` file and corresponding `*.idx` file from the\n-other side may give you a repository that cannot be accessed with your\n-older version of Git. If the `*.pack` file is smaller than 2 GB, however,\n-you can use linkgit:git-index-pack[1] on the *.pack file to regenerate\n-the `*.idx` file.\n-\n-pack.packSizeLimit::\n-\tThe maximum size of a pack.  This setting only affects\n-\tpacking to a file when repacking, i.e. the git:// protocol\n-\tis unaffected.  It can be overridden by the `--max-pack-size`\n-\toption of linkgit:git-repack[1].  Reaching this limit results\n-\tin the creation of multiple packfiles; which in turn prevents\n-\tbitmaps from being created.\n-\tThe minimum size allowed is limited to 1 MiB.\n-\tThe default is unlimited.\n-\tCommon unit suffixes of 'k', 'm', or 'g' are\n-\tsupported.\n-\n-pack.useBitmaps::\n-\tWhen true, git will use pack bitmaps (if available) when packing\n-\tto stdout (e.g., during the server side of a fetch). Defaults to\n-\ttrue. You should not generally need to turn this off unless\n-\tyou are debugging pack bitmaps.\n-\n-pack.writeBitmaps (deprecated)::\n-\tThis is a deprecated synonym for `repack.writeBitmaps`.\n-\n-pack.writeBitmapHashCache::\n-\tWhen true, git will include a \"hash cache\" section in the bitmap\n-\tindex (if one is written). This cache can be used to feed git's\n-\tdelta heuristics, potentially leading to better deltas between\n-\tbitmapped and non-bitmapped objects (e.g., when serving a fetch\n-\tbetween an older, bitmapped pack and objects that have been\n-\tpushed since the last gc). The downside is that it consumes 4\n-\tbytes per object of disk space, and that JGit's bitmap\n-\timplementation does not understand it, causing it to complain if\n-\tGit and JGit are used on the same repository. Defaults to false.\n+include::config/pack.txt[]\n \n pager.<cmd>::\n \tIf the value is boolean, turns on or off pagination of the\ndiff --git a/Documentation/config/pack.txt b/Documentation/config/pack.txt\nnew file mode 100644\nindex 0000000000..edac75c83f\n--- /dev/null\n+++ b/Documentation/config/pack.txt\n@@ -0,0 +1,120 @@\n+pack.window::\n+\tThe size of the window used by linkgit:git-pack-objects[1] when no\n+\twindow size is given on the command line. Defaults to 10.\n+\n+pack.depth::\n+\tThe maximum delta depth used by linkgit:git-pack-objects[1] when no\n+\tmaximum depth is given on the command line. Defaults to 50.\n+\tMaximum value is 4095.\n+\n+pack.windowMemory::\n+\tThe maximum size of memory that is consumed by each thread\n+\tin linkgit:git-pack-objects[1] for pack window memory when\n+\tno limit is given on the command line.  The value can be\n+\tsuffixed with \"k\", \"m\", or \"g\".  When left unconfigured (or\n+\tset explicitly to 0), there will be no limit.\n+\n+pack.compression::\n+\tAn integer -1..9, indicating the compression level for objects\n+\tin a pack file. -1 is the zlib default. 0 means no\n+\tcompression, and 1..9 are various speed/size tradeoffs, 9 being\n+\tslowest.  If not set,  defaults to core.compression.  If that is\n+\tnot set,  defaults to -1, the zlib default, which is \"a default\n+\tcompromise between speed and compression (currently equivalent\n+\tto level 6).\"\n++\n+Note that changing the compression level will not automatically recompress\n+all existing objects. You can force recompression by passing the -F option\n+to linkgit:git-repack[1].\n+\n+pack.island::\n+\tAn extended regular expression configuring a set of delta\n+\tislands. See \"DELTA ISLANDS\" in linkgit:git-pack-objects[1]\n+\tfor details.\n+\n+pack.islandCore::\n+\tSpecify an island name which gets to have its objects be\n+\tpacked first. This creates a kind of pseudo-pack at the front\n+\tof one pack, so that the objects from the specified island are\n+\thopefully faster to copy into any pack that should be served\n+\tto a user requesting these objects. In practice this means\n+\tthat the island specified should likely correspond to what is\n+\tthe most commonly cloned in the repo. See also \"DELTA ISLANDS\"\n+\tin linkgit:git-pack-objects[1].\n+\n+pack.deltaCacheSize::\n+\tThe maximum memory in bytes used for caching deltas in\n+\tlinkgit:git-pack-objects[1] before writing them out to a pack.\n+\tThis cache is used to speed up the writing object phase by not\n+\thaving to recompute the final delta result once the best match\n+\tfor all objects is found.  Repacking large repositories on machines\n+\twhich are tight with memory might be badly impacted by this though,\n+\tespecially if this cache pushes the system into swapping.\n+\tA value of 0 means no limit. The smallest size of 1 byte may be\n+\tused to virtually disable this cache. Defaults to 256 MiB.\n+\n+pack.deltaCacheLimit::\n+\tThe maximum size of a delta, that is cached in\n+\tlinkgit:git-pack-objects[1]. This cache is used to speed up the\n+\twriting object phase by not having to recompute the final delta\n+\tresult once the best match for all objects is found.\n+\tDefaults to 1000. Maximum value is 65535.\n+\n+pack.threads::\n+\tSpecifies the number of threads to spawn when searching for best\n+\tdelta matches.  This requires that linkgit:git-pack-objects[1]\n+\tbe compiled with pthreads otherwise this option is ignored with a\n+\twarning. This is meant to reduce packing time on multiprocessor\n+\tmachines. The required amount of memory for the delta search window\n+\tis however multiplied by the number of threads.\n+\tSpecifying 0 will cause Git to auto-detect the number of CPU's\n+\tand set the number of threads accordingly.\n+\n+pack.indexVersion::\n+\tSpecify the default pack index version.  Valid values are 1 for\n+\tlegacy pack index used by Git versions prior to 1.5.2, and 2 for\n+\tthe new pack index with capabilities for packs larger than 4 GB\n+\tas well as proper protection against the repacking of corrupted\n+\tpacks.  Version 2 is the default.  Note that version 2 is enforced\n+\tand this config option ignored whenever the corresponding pack is\n+\tlarger than 2 GB.\n++\n+If you have an old Git that does not understand the version 2 `*.idx` file,\n+cloning or fetching over a non native protocol (e.g. \"http\")\n+that will copy both `*.pack` file and corresponding `*.idx` file from the\n+other side may give you a repository that cannot be accessed with your\n+older version of Git. If the `*.pack` file is smaller than 2 GB, however,\n+you can use linkgit:git-index-pack[1] on the *.pack file to regenerate\n+the `*.idx` file.\n+\n+pack.packSizeLimit::\n+\tThe maximum size of a pack.  This setting only affects\n+\tpacking to a file when repacking, i.e. the git:// protocol\n+\tis unaffected.  It can be overridden by the `--max-pack-size`\n+\toption of linkgit:git-repack[1].  Reaching this limit results\n+\tin the creation of multiple packfiles; which in turn prevents\n+\tbitmaps from being created.\n+\tThe minimum size allowed is limited to 1 MiB.\n+\tThe default is unlimited.\n+\tCommon unit suffixes of 'k', 'm', or 'g' are\n+\tsupported.\n+\n+pack.useBitmaps::\n+\tWhen true, git will use pack bitmaps (if available) when packing\n+\tto stdout (e.g., during the server side of a fetch). Defaults to\n+\ttrue. You should not generally need to turn this off unless\n+\tyou are debugging pack bitmaps.\n+\n+pack.writeBitmaps (deprecated)::\n+\tThis is a deprecated synonym for `repack.writeBitmaps`.\n+\n+pack.writeBitmapHashCache::\n+\tWhen true, git will include a \"hash cache\" section in the bitmap\n+\tindex (if one is written). This cache can be used to feed git's\n+\tdelta heuristics, potentially leading to better deltas between\n+\tbitmapped and non-bitmapped objects (e.g., when serving a fetch\n+\tbetween an older, bitmapped pack and objects that have been\n+\tpushed since the last gc). The downside is that it consumes 4\n+\tbytes per object of disk space, and that JGit's bitmap\n+\timplementation does not understand it, causing it to complain if\n+\tGit and JGit are used on the same repository. Defaults to false.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361715","messageId":"20181027062351.30446-54-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 53/78] config.txt: move pull-config.txt to config/","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:26Z","receivedAt":"2018-10-27T06:25:00Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt                           | 2 +-\n Documentation/{pull-config.txt => config/pull.txt} | 0\n 2 files changed, 1 insertion(+), 1 deletion(-)\n rename Documentation/{pull-config.txt => config/pull.txt} (100%)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex e80148a133..9de16a498e 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -385,7 +385,7 @@ include::config/pretty.txt[]\n \n include::config/protocol.txt[]\n \n-include::pull-config.txt[]\n+include::config/pull.txt[]\n \n include::push-config.txt[]\n \ndiff --git a/Documentation/pull-config.txt b/Documentation/config/pull.txt\nsimilarity index 100%\nrename from Documentation/pull-config.txt\nrename to Documentation/config/pull.txt\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361716","messageId":"20181027062351.30446-53-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 52/78] config.txt: move protocol.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:25Z","receivedAt":"2018-10-27T06:25:00Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt          | 65 +------------------------------\n Documentation/config/protocol.txt | 64 ++++++++++++++++++++++++++++++\n 2 files changed, 65 insertions(+), 64 deletions(-)\n create mode 100644 Documentation/config/protocol.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex d55776c383..e80148a133 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -383,70 +383,7 @@ include::config/pager.txt[]\n \n include::config/pretty.txt[]\n \n-protocol.allow::\n-\tIf set, provide a user defined default policy for all protocols which\n-\tdon't explicitly have a policy (`protocol.<name>.allow`).  By default,\n-\tif unset, known-safe protocols (http, https, git, ssh, file) have a\n-\tdefault policy of `always`, known-dangerous protocols (ext) have a\n-\tdefault policy of `never`, and all other protocols have a default\n-\tpolicy of `user`.  Supported policies:\n-+\n---\n-\n-* `always` - protocol is always able to be used.\n-\n-* `never` - protocol is never able to be used.\n-\n-* `user` - protocol is only able to be used when `GIT_PROTOCOL_FROM_USER` is\n-  either unset or has a value of 1.  This policy should be used when you want a\n-  protocol to be directly usable by the user but don't want it used by commands which\n-  execute clone/fetch/push commands without user input, e.g. recursive\n-  submodule initialization.\n-\n---\n-\n-protocol.<name>.allow::\n-\tSet a policy to be used by protocol `<name>` with clone/fetch/push\n-\tcommands. See `protocol.allow` above for the available policies.\n-+\n-The protocol names currently used by git are:\n-+\n---\n-  - `file`: any local file-based path (including `file://` URLs,\n-    or local paths)\n-\n-  - `git`: the anonymous git protocol over a direct TCP\n-    connection (or proxy, if configured)\n-\n-  - `ssh`: git over ssh (including `host:path` syntax,\n-    `ssh://`, etc).\n-\n-  - `http`: git over http, both \"smart http\" and \"dumb http\".\n-    Note that this does _not_ include `https`; if you want to configure\n-    both, you must do so individually.\n-\n-  - any external helpers are named by their protocol (e.g., use\n-    `hg` to allow the `git-remote-hg` helper)\n---\n-\n-protocol.version::\n-\tExperimental. If set, clients will attempt to communicate with a\n-\tserver using the specified protocol version.  If unset, no\n-\tattempt will be made by the client to communicate using a\n-\tparticular protocol version, this results in protocol version 0\n-\tbeing used.\n-\tSupported versions:\n-+\n---\n-\n-* `0` - the original wire protocol.\n-\n-* `1` - the original wire protocol with the addition of a version string\n-  in the initial response from the server.\n-\n-* `2` - link:technical/protocol-v2.html[wire protocol version 2].\n-\n---\n+include::config/protocol.txt[]\n \n include::pull-config.txt[]\n \ndiff --git a/Documentation/config/protocol.txt b/Documentation/config/protocol.txt\nnew file mode 100644\nindex 0000000000..bfccc07491\n--- /dev/null\n+++ b/Documentation/config/protocol.txt\n@@ -0,0 +1,64 @@\n+protocol.allow::\n+\tIf set, provide a user defined default policy for all protocols which\n+\tdon't explicitly have a policy (`protocol.<name>.allow`).  By default,\n+\tif unset, known-safe protocols (http, https, git, ssh, file) have a\n+\tdefault policy of `always`, known-dangerous protocols (ext) have a\n+\tdefault policy of `never`, and all other protocols have a default\n+\tpolicy of `user`.  Supported policies:\n++\n+--\n+\n+* `always` - protocol is always able to be used.\n+\n+* `never` - protocol is never able to be used.\n+\n+* `user` - protocol is only able to be used when `GIT_PROTOCOL_FROM_USER` is\n+  either unset or has a value of 1.  This policy should be used when you want a\n+  protocol to be directly usable by the user but don't want it used by commands which\n+  execute clone/fetch/push commands without user input, e.g. recursive\n+  submodule initialization.\n+\n+--\n+\n+protocol.<name>.allow::\n+\tSet a policy to be used by protocol `<name>` with clone/fetch/push\n+\tcommands. See `protocol.allow` above for the available policies.\n++\n+The protocol names currently used by git are:\n++\n+--\n+  - `file`: any local file-based path (including `file://` URLs,\n+    or local paths)\n+\n+  - `git`: the anonymous git protocol over a direct TCP\n+    connection (or proxy, if configured)\n+\n+  - `ssh`: git over ssh (including `host:path` syntax,\n+    `ssh://`, etc).\n+\n+  - `http`: git over http, both \"smart http\" and \"dumb http\".\n+    Note that this does _not_ include `https`; if you want to configure\n+    both, you must do so individually.\n+\n+  - any external helpers are named by their protocol (e.g., use\n+    `hg` to allow the `git-remote-hg` helper)\n+--\n+\n+protocol.version::\n+\tExperimental. If set, clients will attempt to communicate with a\n+\tserver using the specified protocol version.  If unset, no\n+\tattempt will be made by the client to communicate using a\n+\tparticular protocol version, this results in protocol version 0\n+\tbeing used.\n+\tSupported versions:\n++\n+--\n+\n+* `0` - the original wire protocol.\n+\n+* `1` - the original wire protocol with the addition of a version string\n+  in the initial response from the server.\n+\n+* `2` - link:technical/protocol-v2.html[wire protocol version 2].\n+\n+--\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361717","messageId":"20181027062351.30446-55-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 54/78] config.txt: move push-config.txt to config/","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:27Z","receivedAt":"2018-10-27T06:25:02Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt                           | 2 +-\n Documentation/{push-config.txt => config/push.txt} | 0\n 2 files changed, 1 insertion(+), 1 deletion(-)\n rename Documentation/{push-config.txt => config/push.txt} (100%)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 9de16a498e..a6934fd87b 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -387,7 +387,7 @@ include::config/protocol.txt[]\n \n include::config/pull.txt[]\n \n-include::push-config.txt[]\n+include::config/push.txt[]\n \n include::rebase-config.txt[]\n \ndiff --git a/Documentation/push-config.txt b/Documentation/config/push.txt\nsimilarity index 100%\nrename from Documentation/push-config.txt\nrename to Documentation/config/push.txt\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361718","messageId":"20181027062351.30446-56-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 55/78] config.txt: move rebase-config.txt to config/","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:28Z","receivedAt":"2018-10-27T06:25:04Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt                               | 2 +-\n Documentation/{rebase-config.txt => config/rebase.txt} | 0\n Documentation/git-rebase.txt                           | 2 +-\n 3 files changed, 2 insertions(+), 2 deletions(-)\n rename Documentation/{rebase-config.txt => config/rebase.txt} (100%)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex a6934fd87b..0079cb31ff 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -389,7 +389,7 @@ include::config/pull.txt[]\n \n include::config/push.txt[]\n \n-include::rebase-config.txt[]\n+include::config/rebase.txt[]\n \n include::receive-config.txt[]\n \ndiff --git a/Documentation/rebase-config.txt b/Documentation/config/rebase.txt\nsimilarity index 100%\nrename from Documentation/rebase-config.txt\nrename to Documentation/config/rebase.txt\ndiff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt\nindex 432baabe33..e98d1ac8ae 100644\n--- a/Documentation/git-rebase.txt\n+++ b/Documentation/git-rebase.txt\n@@ -203,7 +203,7 @@ Alternatively, you can undo the 'git rebase' with\n CONFIGURATION\n -------------\n \n-include::rebase-config.txt[]\n+include::config/rebase.txt[]\n \n OPTIONS\n -------\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361719","messageId":"20181027062351.30446-57-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 56/78] config.txt: move receive-config.txt to config/","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:29Z","receivedAt":"2018-10-27T06:25:04Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt                                 | 2 +-\n Documentation/{receive-config.txt => config/receive.txt} | 0\n 2 files changed, 1 insertion(+), 1 deletion(-)\n rename Documentation/{receive-config.txt => config/receive.txt} (100%)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 0079cb31ff..465dc2abec 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -391,7 +391,7 @@ include::config/push.txt[]\n \n include::config/rebase.txt[]\n \n-include::receive-config.txt[]\n+include::config/receive.txt[]\n \n remote.pushDefault::\n \tThe remote to push to by default.  Overrides\ndiff --git a/Documentation/receive-config.txt b/Documentation/config/receive.txt\nsimilarity index 100%\nrename from Documentation/receive-config.txt\nrename to Documentation/config/receive.txt\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361721","messageId":"20181027062351.30446-58-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 57/78] config.txt: move remote.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:30Z","receivedAt":"2018-10-27T06:25:06Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt        | 79 +--------------------------------\n Documentation/config/remote.txt | 78 ++++++++++++++++++++++++++++++++\n 2 files changed, 79 insertions(+), 78 deletions(-)\n create mode 100644 Documentation/config/remote.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 465dc2abec..b7aafdbf17 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -393,84 +393,7 @@ include::config/rebase.txt[]\n \n include::config/receive.txt[]\n \n-remote.pushDefault::\n-\tThe remote to push to by default.  Overrides\n-\t`branch.<name>.remote` for all branches, and is overridden by\n-\t`branch.<name>.pushRemote` for specific branches.\n-\n-remote.<name>.url::\n-\tThe URL of a remote repository.  See linkgit:git-fetch[1] or\n-\tlinkgit:git-push[1].\n-\n-remote.<name>.pushurl::\n-\tThe push URL of a remote repository.  See linkgit:git-push[1].\n-\n-remote.<name>.proxy::\n-\tFor remotes that require curl (http, https and ftp), the URL to\n-\tthe proxy to use for that remote.  Set to the empty string to\n-\tdisable proxying for that remote.\n-\n-remote.<name>.proxyAuthMethod::\n-\tFor remotes that require curl (http, https and ftp), the method to use for\n-\tauthenticating against the proxy in use (probably set in\n-\t`remote.<name>.proxy`). See `http.proxyAuthMethod`.\n-\n-remote.<name>.fetch::\n-\tThe default set of \"refspec\" for linkgit:git-fetch[1]. See\n-\tlinkgit:git-fetch[1].\n-\n-remote.<name>.push::\n-\tThe default set of \"refspec\" for linkgit:git-push[1]. See\n-\tlinkgit:git-push[1].\n-\n-remote.<name>.mirror::\n-\tIf true, pushing to this remote will automatically behave\n-\tas if the `--mirror` option was given on the command line.\n-\n-remote.<name>.skipDefaultUpdate::\n-\tIf true, this remote will be skipped by default when updating\n-\tusing linkgit:git-fetch[1] or the `update` subcommand of\n-\tlinkgit:git-remote[1].\n-\n-remote.<name>.skipFetchAll::\n-\tIf true, this remote will be skipped by default when updating\n-\tusing linkgit:git-fetch[1] or the `update` subcommand of\n-\tlinkgit:git-remote[1].\n-\n-remote.<name>.receivepack::\n-\tThe default program to execute on the remote side when pushing.  See\n-\toption --receive-pack of linkgit:git-push[1].\n-\n-remote.<name>.uploadpack::\n-\tThe default program to execute on the remote side when fetching.  See\n-\toption --upload-pack of linkgit:git-fetch-pack[1].\n-\n-remote.<name>.tagOpt::\n-\tSetting this value to --no-tags disables automatic tag following when\n-\tfetching from remote <name>. Setting it to --tags will fetch every\n-\ttag from remote <name>, even if they are not reachable from remote\n-\tbranch heads. Passing these flags directly to linkgit:git-fetch[1] can\n-\toverride this setting. See options --tags and --no-tags of\n-\tlinkgit:git-fetch[1].\n-\n-remote.<name>.vcs::\n-\tSetting this to a value <vcs> will cause Git to interact with\n-\tthe remote with the git-remote-<vcs> helper.\n-\n-remote.<name>.prune::\n-\tWhen set to true, fetching from this remote by default will also\n-\tremove any remote-tracking references that no longer exist on the\n-\tremote (as if the `--prune` option was given on the command line).\n-\tOverrides `fetch.prune` settings, if any.\n-\n-remote.<name>.pruneTags::\n-\tWhen set to true, fetching from this remote by default will also\n-\tremove any local tags that no longer exist on the remote if pruning\n-\tis activated in general via `remote.<name>.prune`, `fetch.prune` or\n-\t`--prune`. Overrides `fetch.pruneTags` settings, if any.\n-+\n-See also `remote.<name>.prune` and the PRUNING section of\n-linkgit:git-fetch[1].\n+include::config/remote.txt[]\n \n remotes.<group>::\n \tThe list of remotes which are fetched by \"git remote update\ndiff --git a/Documentation/config/remote.txt b/Documentation/config/remote.txt\nnew file mode 100644\nindex 0000000000..6c4cad83a2\n--- /dev/null\n+++ b/Documentation/config/remote.txt\n@@ -0,0 +1,78 @@\n+remote.pushDefault::\n+\tThe remote to push to by default.  Overrides\n+\t`branch.<name>.remote` for all branches, and is overridden by\n+\t`branch.<name>.pushRemote` for specific branches.\n+\n+remote.<name>.url::\n+\tThe URL of a remote repository.  See linkgit:git-fetch[1] or\n+\tlinkgit:git-push[1].\n+\n+remote.<name>.pushurl::\n+\tThe push URL of a remote repository.  See linkgit:git-push[1].\n+\n+remote.<name>.proxy::\n+\tFor remotes that require curl (http, https and ftp), the URL to\n+\tthe proxy to use for that remote.  Set to the empty string to\n+\tdisable proxying for that remote.\n+\n+remote.<name>.proxyAuthMethod::\n+\tFor remotes that require curl (http, https and ftp), the method to use for\n+\tauthenticating against the proxy in use (probably set in\n+\t`remote.<name>.proxy`). See `http.proxyAuthMethod`.\n+\n+remote.<name>.fetch::\n+\tThe default set of \"refspec\" for linkgit:git-fetch[1]. See\n+\tlinkgit:git-fetch[1].\n+\n+remote.<name>.push::\n+\tThe default set of \"refspec\" for linkgit:git-push[1]. See\n+\tlinkgit:git-push[1].\n+\n+remote.<name>.mirror::\n+\tIf true, pushing to this remote will automatically behave\n+\tas if the `--mirror` option was given on the command line.\n+\n+remote.<name>.skipDefaultUpdate::\n+\tIf true, this remote will be skipped by default when updating\n+\tusing linkgit:git-fetch[1] or the `update` subcommand of\n+\tlinkgit:git-remote[1].\n+\n+remote.<name>.skipFetchAll::\n+\tIf true, this remote will be skipped by default when updating\n+\tusing linkgit:git-fetch[1] or the `update` subcommand of\n+\tlinkgit:git-remote[1].\n+\n+remote.<name>.receivepack::\n+\tThe default program to execute on the remote side when pushing.  See\n+\toption --receive-pack of linkgit:git-push[1].\n+\n+remote.<name>.uploadpack::\n+\tThe default program to execute on the remote side when fetching.  See\n+\toption --upload-pack of linkgit:git-fetch-pack[1].\n+\n+remote.<name>.tagOpt::\n+\tSetting this value to --no-tags disables automatic tag following when\n+\tfetching from remote <name>. Setting it to --tags will fetch every\n+\ttag from remote <name>, even if they are not reachable from remote\n+\tbranch heads. Passing these flags directly to linkgit:git-fetch[1] can\n+\toverride this setting. See options --tags and --no-tags of\n+\tlinkgit:git-fetch[1].\n+\n+remote.<name>.vcs::\n+\tSetting this to a value <vcs> will cause Git to interact with\n+\tthe remote with the git-remote-<vcs> helper.\n+\n+remote.<name>.prune::\n+\tWhen set to true, fetching from this remote by default will also\n+\tremove any remote-tracking references that no longer exist on the\n+\tremote (as if the `--prune` option was given on the command line).\n+\tOverrides `fetch.prune` settings, if any.\n+\n+remote.<name>.pruneTags::\n+\tWhen set to true, fetching from this remote by default will also\n+\tremove any local tags that no longer exist on the remote if pruning\n+\tis activated in general via `remote.<name>.prune`, `fetch.prune` or\n+\t`--prune`. Overrides `fetch.pruneTags` settings, if any.\n++\n+See also `remote.<name>.prune` and the PRUNING section of\n+linkgit:git-fetch[1].\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361720","messageId":"20181027062351.30446-52-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 51/78] config.txt: move pretty.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:24Z","receivedAt":"2018-10-27T06:25:07Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt        | 10 +---------\n Documentation/config/pretty.txt |  9 +++++++++\n 2 files changed, 10 insertions(+), 9 deletions(-)\n create mode 100644 Documentation/config/pretty.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex a7b72d2722..d55776c383 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -381,15 +381,7 @@ include::config/pack.txt[]\n \n include::config/pager.txt[]\n \n-pretty.<name>::\n-\tAlias for a --pretty= format string, as specified in\n-\tlinkgit:git-log[1]. Any aliases defined here can be used just\n-\tas the built-in pretty formats could. For example,\n-\trunning `git config pretty.changelog \"format:* %H %s\"`\n-\twould cause the invocation `git log --pretty=changelog`\n-\tto be equivalent to running `git log \"--pretty=format:* %H %s\"`.\n-\tNote that an alias with the same name as a built-in format\n-\twill be silently ignored.\n+include::config/pretty.txt[]\n \n protocol.allow::\n \tIf set, provide a user defined default policy for all protocols which\ndiff --git a/Documentation/config/pretty.txt b/Documentation/config/pretty.txt\nnew file mode 100644\nindex 0000000000..063c6b63d9\n--- /dev/null\n+++ b/Documentation/config/pretty.txt\n@@ -0,0 +1,9 @@\n+pretty.<name>::\n+\tAlias for a --pretty= format string, as specified in\n+\tlinkgit:git-log[1]. Any aliases defined here can be used just\n+\tas the built-in pretty formats could. For example,\n+\trunning `git config pretty.changelog \"format:* %H %s\"`\n+\twould cause the invocation `git log --pretty=changelog`\n+\tto be equivalent to running `git log \"--pretty=format:* %H %s\"`.\n+\tNote that an alias with the same name as a built-in format\n+\twill be silently ignored.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361723","messageId":"20181027062351.30446-60-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 59/78] config.txt: move repack.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:32Z","receivedAt":"2018-10-27T06:25:08Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt        | 28 +---------------------------\n Documentation/config/repack.txt | 27 +++++++++++++++++++++++++++\n 2 files changed, 28 insertions(+), 27 deletions(-)\n create mode 100644 Documentation/config/repack.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 9aa849ce8b..0ce5081f22 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -397,33 +397,7 @@ include::config/remote.txt[]\n \n include::config/remotes.txt[]\n \n-repack.useDeltaBaseOffset::\n-\tBy default, linkgit:git-repack[1] creates packs that use\n-\tdelta-base offset. If you need to share your repository with\n-\tGit older than version 1.4.4, either directly or via a dumb\n-\tprotocol such as http, then you need to set this option to\n-\t\"false\" and repack. Access from old Git versions over the\n-\tnative protocol are unaffected by this option.\n-\n-repack.packKeptObjects::\n-\tIf set to true, makes `git repack` act as if\n-\t`--pack-kept-objects` was passed. See linkgit:git-repack[1] for\n-\tdetails. Defaults to `false` normally, but `true` if a bitmap\n-\tindex is being written (either via `--write-bitmap-index` or\n-\t`repack.writeBitmaps`).\n-\n-repack.useDeltaIslands::\n-\tIf set to true, makes `git repack` act as if `--delta-islands`\n-\twas passed. Defaults to `false`.\n-\n-repack.writeBitmaps::\n-\tWhen true, git will write a bitmap index when packing all\n-\tobjects to disk (e.g., when `git repack -a` is run).  This\n-\tindex can speed up the \"counting objects\" phase of subsequent\n-\tpacks created for clones and fetches, at the cost of some disk\n-\tspace and extra time spent on the initial repack.  This has\n-\tno effect if multiple packfiles are created.\n-\tDefaults to false.\n+include::config/repack.txt[]\n \n rerere.autoUpdate::\n \tWhen set to true, `git-rerere` updates the index with the\ndiff --git a/Documentation/config/repack.txt b/Documentation/config/repack.txt\nnew file mode 100644\nindex 0000000000..a5c37813fd\n--- /dev/null\n+++ b/Documentation/config/repack.txt\n@@ -0,0 +1,27 @@\n+repack.useDeltaBaseOffset::\n+\tBy default, linkgit:git-repack[1] creates packs that use\n+\tdelta-base offset. If you need to share your repository with\n+\tGit older than version 1.4.4, either directly or via a dumb\n+\tprotocol such as http, then you need to set this option to\n+\t\"false\" and repack. Access from old Git versions over the\n+\tnative protocol are unaffected by this option.\n+\n+repack.packKeptObjects::\n+\tIf set to true, makes `git repack` act as if\n+\t`--pack-kept-objects` was passed. See linkgit:git-repack[1] for\n+\tdetails. Defaults to `false` normally, but `true` if a bitmap\n+\tindex is being written (either via `--write-bitmap-index` or\n+\t`repack.writeBitmaps`).\n+\n+repack.useDeltaIslands::\n+\tIf set to true, makes `git repack` act as if `--delta-islands`\n+\twas passed. Defaults to `false`.\n+\n+repack.writeBitmaps::\n+\tWhen true, git will write a bitmap index when packing all\n+\tobjects to disk (e.g., when `git repack -a` is run).  This\n+\tindex can speed up the \"counting objects\" phase of subsequent\n+\tpacks created for clones and fetches, at the cost of some disk\n+\tspace and extra time spent on the initial repack.  This has\n+\tno effect if multiple packfiles are created.\n+\tDefaults to false.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361722","messageId":"20181027062351.30446-59-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 58/78] config.txt: move remotes.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:31Z","receivedAt":"2018-10-27T06:25:09Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt         | 4 +---\n Documentation/config/remotes.txt | 3 +++\n 2 files changed, 4 insertions(+), 3 deletions(-)\n create mode 100644 Documentation/config/remotes.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex b7aafdbf17..9aa849ce8b 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -395,9 +395,7 @@ include::config/receive.txt[]\n \n include::config/remote.txt[]\n \n-remotes.<group>::\n-\tThe list of remotes which are fetched by \"git remote update\n-\t<group>\".  See linkgit:git-remote[1].\n+include::config/remotes.txt[]\n \n repack.useDeltaBaseOffset::\n \tBy default, linkgit:git-repack[1] creates packs that use\ndiff --git a/Documentation/config/remotes.txt b/Documentation/config/remotes.txt\nnew file mode 100644\nindex 0000000000..4cfe03221e\n--- /dev/null\n+++ b/Documentation/config/remotes.txt\n@@ -0,0 +1,3 @@\n+remotes.<group>::\n+\tThe list of remotes which are fetched by \"git remote update\n+\t<group>\".  See linkgit:git-remote[1].\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361724","messageId":"20181027062351.30446-61-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 60/78] config.txt: move rerere.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:33Z","receivedAt":"2018-10-27T06:25:10Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt        | 13 +------------\n Documentation/config/rerere.txt | 12 ++++++++++++\n 2 files changed, 13 insertions(+), 12 deletions(-)\n create mode 100644 Documentation/config/rerere.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 0ce5081f22..71bab1f3b8 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -399,18 +399,7 @@ include::config/remotes.txt[]\n \n include::config/repack.txt[]\n \n-rerere.autoUpdate::\n-\tWhen set to true, `git-rerere` updates the index with the\n-\tresulting contents after it cleanly resolves conflicts using\n-\tpreviously recorded resolution.  Defaults to false.\n-\n-rerere.enabled::\n-\tActivate recording of resolved conflicts, so that identical\n-\tconflict hunks can be resolved automatically, should they be\n-\tencountered again.  By default, linkgit:git-rerere[1] is\n-\tenabled if there is an `rr-cache` directory under the\n-\t`$GIT_DIR`, e.g. if \"rerere\" was previously used in the\n-\trepository.\n+include::config/rerere.txt[]\n \n reset.quiet::\n \tWhen set to true, 'git reset' will default to the '--quiet' option.\ndiff --git a/Documentation/config/rerere.txt b/Documentation/config/rerere.txt\nnew file mode 100644\nindex 0000000000..40abdf6a6b\n--- /dev/null\n+++ b/Documentation/config/rerere.txt\n@@ -0,0 +1,12 @@\n+rerere.autoUpdate::\n+\tWhen set to true, `git-rerere` updates the index with the\n+\tresulting contents after it cleanly resolves conflicts using\n+\tpreviously recorded resolution.  Defaults to false.\n+\n+rerere.enabled::\n+\tActivate recording of resolved conflicts, so that identical\n+\tconflict hunks can be resolved automatically, should they be\n+\tencountered again.  By default, linkgit:git-rerere[1] is\n+\tenabled if there is an `rr-cache` directory under the\n+\t`$GIT_DIR`, e.g. if \"rerere\" was previously used in the\n+\trepository.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361725","messageId":"20181027062351.30446-63-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 62/78] config.txt: move sendemail-config.txt to config/","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:35Z","receivedAt":"2018-10-27T06:25:11Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt                                     | 2 +-\n Documentation/{sendemail-config.txt => config/sendemail.txt} | 0\n 2 files changed, 1 insertion(+), 1 deletion(-)\n rename Documentation/{sendemail-config.txt => config/sendemail.txt} (100%)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex a6ce22a6d9..1c2a6ec3c5 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -403,7 +403,7 @@ include::config/rerere.txt[]\n \n include::config/reset.txt[]\n \n-include::sendemail-config.txt[]\n+include::config/sendemail.txt[]\n \n sequence.editor::\n \tText editor used by `git rebase -i` for editing the rebase instruction file.\ndiff --git a/Documentation/sendemail-config.txt b/Documentation/config/sendemail.txt\nsimilarity index 100%\nrename from Documentation/sendemail-config.txt\nrename to Documentation/config/sendemail.txt\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361726","messageId":"20181027062351.30446-64-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 63/78] config.txt: move sequencer.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:36Z","receivedAt":"2018-10-27T06:25:12Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt           | 6 +-----\n Documentation/config/sequencer.txt | 5 +++++\n 2 files changed, 6 insertions(+), 5 deletions(-)\n create mode 100644 Documentation/config/sequencer.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 1c2a6ec3c5..ab504eaba2 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -405,11 +405,7 @@ include::config/reset.txt[]\n \n include::config/sendemail.txt[]\n \n-sequence.editor::\n-\tText editor used by `git rebase -i` for editing the rebase instruction file.\n-\tThe value is meant to be interpreted by the shell when it is used.\n-\tIt can be overridden by the `GIT_SEQUENCE_EDITOR` environment variable.\n-\tWhen not configured the default commit message editor is used instead.\n+include::config/sequencer.txt[]\n \n showBranch.default::\n \tThe default set of branches for linkgit:git-show-branch[1].\ndiff --git a/Documentation/config/sequencer.txt b/Documentation/config/sequencer.txt\nnew file mode 100644\nindex 0000000000..b48d532a96\n--- /dev/null\n+++ b/Documentation/config/sequencer.txt\n@@ -0,0 +1,5 @@\n+sequence.editor::\n+\tText editor used by `git rebase -i` for editing the rebase instruction file.\n+\tThe value is meant to be interpreted by the shell when it is used.\n+\tIt can be overridden by the `GIT_SEQUENCE_EDITOR` environment variable.\n+\tWhen not configured the default commit message editor is used instead.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361727","messageId":"20181027062351.30446-65-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 64/78] config.txt: move showBranch.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:37Z","receivedAt":"2018-10-27T06:25:13Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt            | 4 +---\n Documentation/config/showbranch.txt | 3 +++\n 2 files changed, 4 insertions(+), 3 deletions(-)\n create mode 100644 Documentation/config/showbranch.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex ab504eaba2..56cfe3e857 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -407,9 +407,7 @@ include::config/sendemail.txt[]\n \n include::config/sequencer.txt[]\n \n-showBranch.default::\n-\tThe default set of branches for linkgit:git-show-branch[1].\n-\tSee linkgit:git-show-branch[1].\n+include::config/showbranch.txt[]\n \n splitIndex.maxPercentChange::\n \tWhen the split index feature is used, this specifies the\ndiff --git a/Documentation/config/showbranch.txt b/Documentation/config/showbranch.txt\nnew file mode 100644\nindex 0000000000..e79ecd9ee9\n--- /dev/null\n+++ b/Documentation/config/showbranch.txt\n@@ -0,0 +1,3 @@\n+showBranch.default::\n+\tThe default set of branches for linkgit:git-show-branch[1].\n+\tSee linkgit:git-show-branch[1].\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361728","messageId":"20181027062351.30446-66-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 65/78] config.txt: move splitIndex.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:38Z","receivedAt":"2018-10-27T06:25:15Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt            | 25 +------------------------\n Documentation/config/splitindex.txt | 24 ++++++++++++++++++++++++\n 2 files changed, 25 insertions(+), 24 deletions(-)\n create mode 100644 Documentation/config/splitindex.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 56cfe3e857..13beb1ea18 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -409,30 +409,7 @@ include::config/sequencer.txt[]\n \n include::config/showbranch.txt[]\n \n-splitIndex.maxPercentChange::\n-\tWhen the split index feature is used, this specifies the\n-\tpercent of entries the split index can contain compared to the\n-\ttotal number of entries in both the split index and the shared\n-\tindex before a new shared index is written.\n-\tThe value should be between 0 and 100. If the value is 0 then\n-\ta new shared index is always written, if it is 100 a new\n-\tshared index is never written.\n-\tBy default the value is 20, so a new shared index is written\n-\tif the number of entries in the split index would be greater\n-\tthan 20 percent of the total number of entries.\n-\tSee linkgit:git-update-index[1].\n-\n-splitIndex.sharedIndexExpire::\n-\tWhen the split index feature is used, shared index files that\n-\twere not modified since the time this variable specifies will\n-\tbe removed when a new shared index file is created. The value\n-\t\"now\" expires all entries immediately, and \"never\" suppresses\n-\texpiration altogether.\n-\tThe default value is \"2.weeks.ago\".\n-\tNote that a shared index file is considered modified (for the\n-\tpurpose of expiration) each time a new split-index file is\n-\teither created based on it or read from it.\n-\tSee linkgit:git-update-index[1].\n+include::config/splitindex.txt[]\n \n include::config/ssh.txt[]\n \ndiff --git a/Documentation/config/splitindex.txt b/Documentation/config/splitindex.txt\nnew file mode 100644\nindex 0000000000..afdb186df8\n--- /dev/null\n+++ b/Documentation/config/splitindex.txt\n@@ -0,0 +1,24 @@\n+splitIndex.maxPercentChange::\n+\tWhen the split index feature is used, this specifies the\n+\tpercent of entries the split index can contain compared to the\n+\ttotal number of entries in both the split index and the shared\n+\tindex before a new shared index is written.\n+\tThe value should be between 0 and 100. If the value is 0 then\n+\ta new shared index is always written, if it is 100 a new\n+\tshared index is never written.\n+\tBy default the value is 20, so a new shared index is written\n+\tif the number of entries in the split index would be greater\n+\tthan 20 percent of the total number of entries.\n+\tSee linkgit:git-update-index[1].\n+\n+splitIndex.sharedIndexExpire::\n+\tWhen the split index feature is used, shared index files that\n+\twere not modified since the time this variable specifies will\n+\tbe removed when a new shared index file is created. The value\n+\t\"now\" expires all entries immediately, and \"never\" suppresses\n+\texpiration altogether.\n+\tThe default value is \"2.weeks.ago\".\n+\tNote that a shared index file is considered modified (for the\n+\tpurpose of expiration) each time a new split-index file is\n+\teither created based on it or read from it.\n+\tSee linkgit:git-update-index[1].\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361729","messageId":"20181027062351.30446-62-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 61/78] config.txt: move reset.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:34Z","receivedAt":"2018-10-27T06:25:16Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt       | 3 +--\n Documentation/config/reset.txt | 2 ++\n 2 files changed, 3 insertions(+), 2 deletions(-)\n create mode 100644 Documentation/config/reset.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 71bab1f3b8..a6ce22a6d9 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -401,8 +401,7 @@ include::config/repack.txt[]\n \n include::config/rerere.txt[]\n \n-reset.quiet::\n-\tWhen set to true, 'git reset' will default to the '--quiet' option.\n+include::config/reset.txt[]\n \n include::sendemail-config.txt[]\n \ndiff --git a/Documentation/config/reset.txt b/Documentation/config/reset.txt\nnew file mode 100644\nindex 0000000000..63b7c45aac\n--- /dev/null\n+++ b/Documentation/config/reset.txt\n@@ -0,0 +1,2 @@\n+reset.quiet::\n+\tWhen set to true, 'git reset' will default to the '--quiet' option.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361730","messageId":"20181027062351.30446-68-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 67/78] config.txt: move stash.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:40Z","receivedAt":"2018-10-27T06:25:17Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt       | 10 +---------\n Documentation/config/stash.txt |  9 +++++++++\n 2 files changed, 10 insertions(+), 9 deletions(-)\n create mode 100644 Documentation/config/stash.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 5e9fc20c41..aedc73f4eb 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -415,15 +415,7 @@ include::config/ssh.txt[]\n \n include::config/status.txt[]\n \n-stash.showPatch::\n-\tIf this is set to true, the `git stash show` command without an\n-\toption will show the stash entry in patch form.  Defaults to false.\n-\tSee description of 'show' command in linkgit:git-stash[1].\n-\n-stash.showStat::\n-\tIf this is set to true, the `git stash show` command without an\n-\toption will show diffstat of the stash entry.  Defaults to true.\n-\tSee description of 'show' command in linkgit:git-stash[1].\n+include::config/stash.txt[]\n \n include::submodule-config.txt[]\n \ndiff --git a/Documentation/config/stash.txt b/Documentation/config/stash.txt\nnew file mode 100644\nindex 0000000000..c583d46d6b\n--- /dev/null\n+++ b/Documentation/config/stash.txt\n@@ -0,0 +1,9 @@\n+stash.showPatch::\n+\tIf this is set to true, the `git stash show` command without an\n+\toption will show the stash entry in patch form.  Defaults to false.\n+\tSee description of 'show' command in linkgit:git-stash[1].\n+\n+stash.showStat::\n+\tIf this is set to true, the `git stash show` command without an\n+\toption will show diffstat of the stash entry.  Defaults to true.\n+\tSee description of 'show' command in linkgit:git-stash[1].\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361731","messageId":"20181027062351.30446-69-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 68/78] config.txt: move submodule.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:41Z","receivedAt":"2018-10-27T06:25:17Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt                                     | 2 +-\n Documentation/{submodule-config.txt => config/submodule.txt} | 0\n 2 files changed, 1 insertion(+), 1 deletion(-)\n rename Documentation/{submodule-config.txt => config/submodule.txt} (100%)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex aedc73f4eb..966e82e851 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -417,7 +417,7 @@ include::config/status.txt[]\n \n include::config/stash.txt[]\n \n-include::submodule-config.txt[]\n+include::config/submodule.txt[]\n \n tag.forceSignAnnotated::\n \tA boolean to specify whether annotated tags created should be GPG signed.\ndiff --git a/Documentation/submodule-config.txt b/Documentation/config/submodule.txt\nsimilarity index 100%\nrename from Documentation/submodule-config.txt\nrename to Documentation/config/submodule.txt\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361732","messageId":"20181027062351.30446-70-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 69/78] config.txt: move tag.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:42Z","receivedAt":"2018-10-27T06:25:19Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt     | 17 +----------------\n Documentation/config/tag.txt | 16 ++++++++++++++++\n 2 files changed, 17 insertions(+), 16 deletions(-)\n create mode 100644 Documentation/config/tag.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 966e82e851..1db9c58e8d 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -419,22 +419,7 @@ include::config/stash.txt[]\n \n include::config/submodule.txt[]\n \n-tag.forceSignAnnotated::\n-\tA boolean to specify whether annotated tags created should be GPG signed.\n-\tIf `--annotate` is specified on the command line, it takes\n-\tprecedence over this option.\n-\n-tag.sort::\n-\tThis variable controls the sort ordering of tags when displayed by\n-\tlinkgit:git-tag[1]. Without the \"--sort=<value>\" option provided, the\n-\tvalue of this variable will be used as the default.\n-\n-tar.umask::\n-\tThis variable can be used to restrict the permission bits of\n-\ttar archive entries.  The default is 0002, which turns off the\n-\tworld write bit.  The special value \"user\" indicates that the\n-\tarchiving user's umask will be used instead.  See umask(2) and\n-\tlinkgit:git-archive[1].\n+include::config/tag.txt[]\n \n transfer.fsckObjects::\n \tWhen `fetch.fsckObjects` or `receive.fsckObjects` are\ndiff --git a/Documentation/config/tag.txt b/Documentation/config/tag.txt\nnew file mode 100644\nindex 0000000000..663663bdec\n--- /dev/null\n+++ b/Documentation/config/tag.txt\n@@ -0,0 +1,16 @@\n+tag.forceSignAnnotated::\n+\tA boolean to specify whether annotated tags created should be GPG signed.\n+\tIf `--annotate` is specified on the command line, it takes\n+\tprecedence over this option.\n+\n+tag.sort::\n+\tThis variable controls the sort ordering of tags when displayed by\n+\tlinkgit:git-tag[1]. Without the \"--sort=<value>\" option provided, the\n+\tvalue of this variable will be used as the default.\n+\n+tar.umask::\n+\tThis variable can be used to restrict the permission bits of\n+\ttar archive entries.  The default is 0002, which turns off the\n+\tworld write bit.  The special value \"user\" indicates that the\n+\tarchiving user's umask will be used instead.  See umask(2) and\n+\tlinkgit:git-archive[1].\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361733","messageId":"20181027062351.30446-67-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 66/78] config.txt: move status.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:39Z","receivedAt":"2018-10-27T06:25:21Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt        | 73 +--------------------------------\n Documentation/config/status.txt | 72 ++++++++++++++++++++++++++++++++\n 2 files changed, 73 insertions(+), 72 deletions(-)\n create mode 100644 Documentation/config/status.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 13beb1ea18..5e9fc20c41 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -413,78 +413,7 @@ include::config/splitindex.txt[]\n \n include::config/ssh.txt[]\n \n-status.relativePaths::\n-\tBy default, linkgit:git-status[1] shows paths relative to the\n-\tcurrent directory. Setting this variable to `false` shows paths\n-\trelative to the repository root (this was the default for Git\n-\tprior to v1.5.4).\n-\n-status.short::\n-\tSet to true to enable --short by default in linkgit:git-status[1].\n-\tThe option --no-short takes precedence over this variable.\n-\n-status.branch::\n-\tSet to true to enable --branch by default in linkgit:git-status[1].\n-\tThe option --no-branch takes precedence over this variable.\n-\n-status.displayCommentPrefix::\n-\tIf set to true, linkgit:git-status[1] will insert a comment\n-\tprefix before each output line (starting with\n-\t`core.commentChar`, i.e. `#` by default). This was the\n-\tbehavior of linkgit:git-status[1] in Git 1.8.4 and previous.\n-\tDefaults to false.\n-\n-status.renameLimit::\n-\tThe number of files to consider when performing rename detection\n-\tin linkgit:git-status[1] and linkgit:git-commit[1]. Defaults to\n-\tthe value of diff.renameLimit.\n-\n-status.renames::\n-\tWhether and how Git detects renames in linkgit:git-status[1] and\n-\tlinkgit:git-commit[1] .  If set to \"false\", rename detection is\n-\tdisabled. If set to \"true\", basic rename detection is enabled.\n-\tIf set to \"copies\" or \"copy\", Git will detect copies, as well.\n-\tDefaults to the value of diff.renames.\n-\n-status.showStash::\n-\tIf set to true, linkgit:git-status[1] will display the number of\n-\tentries currently stashed away.\n-\tDefaults to false.\n-\n-status.showUntrackedFiles::\n-\tBy default, linkgit:git-status[1] and linkgit:git-commit[1] show\n-\tfiles which are not currently tracked by Git. Directories which\n-\tcontain only untracked files, are shown with the directory name\n-\tonly. Showing untracked files means that Git needs to lstat() all\n-\tthe files in the whole repository, which might be slow on some\n-\tsystems. So, this variable controls how the commands displays\n-\tthe untracked files. Possible values are:\n-+\n---\n-* `no` - Show no untracked files.\n-* `normal` - Show untracked files and directories.\n-* `all` - Show also individual files in untracked directories.\n---\n-+\n-If this variable is not specified, it defaults to 'normal'.\n-This variable can be overridden with the -u|--untracked-files option\n-of linkgit:git-status[1] and linkgit:git-commit[1].\n-\n-status.submoduleSummary::\n-\tDefaults to false.\n-\tIf this is set to a non zero number or true (identical to -1 or an\n-\tunlimited number), the submodule summary will be enabled and a\n-\tsummary of commits for modified submodules will be shown (see\n-\t--summary-limit option of linkgit:git-submodule[1]). Please note\n-\tthat the summary output command will be suppressed for all\n-\tsubmodules when `diff.ignoreSubmodules` is set to 'all' or only\n-\tfor those submodules where `submodule.<name>.ignore=all`. The only\n-\texception to that rule is that status and commit will show staged\n-\tsubmodule changes. To\n-\talso view the summary for ignored submodules you can either use\n-\tthe --ignore-submodules=dirty command-line option or the 'git\n-\tsubmodule summary' command, which shows a similar output but does\n-\tnot honor these settings.\n+include::config/status.txt[]\n \n stash.showPatch::\n \tIf this is set to true, the `git stash show` command without an\ndiff --git a/Documentation/config/status.txt b/Documentation/config/status.txt\nnew file mode 100644\nindex 0000000000..ed72fa7dae\n--- /dev/null\n+++ b/Documentation/config/status.txt\n@@ -0,0 +1,72 @@\n+status.relativePaths::\n+\tBy default, linkgit:git-status[1] shows paths relative to the\n+\tcurrent directory. Setting this variable to `false` shows paths\n+\trelative to the repository root (this was the default for Git\n+\tprior to v1.5.4).\n+\n+status.short::\n+\tSet to true to enable --short by default in linkgit:git-status[1].\n+\tThe option --no-short takes precedence over this variable.\n+\n+status.branch::\n+\tSet to true to enable --branch by default in linkgit:git-status[1].\n+\tThe option --no-branch takes precedence over this variable.\n+\n+status.displayCommentPrefix::\n+\tIf set to true, linkgit:git-status[1] will insert a comment\n+\tprefix before each output line (starting with\n+\t`core.commentChar`, i.e. `#` by default). This was the\n+\tbehavior of linkgit:git-status[1] in Git 1.8.4 and previous.\n+\tDefaults to false.\n+\n+status.renameLimit::\n+\tThe number of files to consider when performing rename detection\n+\tin linkgit:git-status[1] and linkgit:git-commit[1]. Defaults to\n+\tthe value of diff.renameLimit.\n+\n+status.renames::\n+\tWhether and how Git detects renames in linkgit:git-status[1] and\n+\tlinkgit:git-commit[1] .  If set to \"false\", rename detection is\n+\tdisabled. If set to \"true\", basic rename detection is enabled.\n+\tIf set to \"copies\" or \"copy\", Git will detect copies, as well.\n+\tDefaults to the value of diff.renames.\n+\n+status.showStash::\n+\tIf set to true, linkgit:git-status[1] will display the number of\n+\tentries currently stashed away.\n+\tDefaults to false.\n+\n+status.showUntrackedFiles::\n+\tBy default, linkgit:git-status[1] and linkgit:git-commit[1] show\n+\tfiles which are not currently tracked by Git. Directories which\n+\tcontain only untracked files, are shown with the directory name\n+\tonly. Showing untracked files means that Git needs to lstat() all\n+\tthe files in the whole repository, which might be slow on some\n+\tsystems. So, this variable controls how the commands displays\n+\tthe untracked files. Possible values are:\n++\n+--\n+* `no` - Show no untracked files.\n+* `normal` - Show untracked files and directories.\n+* `all` - Show also individual files in untracked directories.\n+--\n++\n+If this variable is not specified, it defaults to 'normal'.\n+This variable can be overridden with the -u|--untracked-files option\n+of linkgit:git-status[1] and linkgit:git-commit[1].\n+\n+status.submoduleSummary::\n+\tDefaults to false.\n+\tIf this is set to a non zero number or true (identical to -1 or an\n+\tunlimited number), the submodule summary will be enabled and a\n+\tsummary of commits for modified submodules will be shown (see\n+\t--summary-limit option of linkgit:git-submodule[1]). Please note\n+\tthat the summary output command will be suppressed for all\n+\tsubmodules when `diff.ignoreSubmodules` is set to 'all' or only\n+\tfor those submodules where `submodule.<name>.ignore=all`. The only\n+\texception to that rule is that status and commit will show staged\n+\tsubmodule changes. To\n+\talso view the summary for ignored submodules you can either use\n+\tthe --ignore-submodules=dirty command-line option or the 'git\n+\tsubmodule summary' command, which shows a similar output but does\n+\tnot honor these settings.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361734","messageId":"20181027062351.30446-71-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 70/78] config.txt: move transfer.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:43Z","receivedAt":"2018-10-27T06:25:21Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt          | 72 +------------------------------\n Documentation/config/transfer.txt | 71 ++++++++++++++++++++++++++++++\n 2 files changed, 72 insertions(+), 71 deletions(-)\n create mode 100644 Documentation/config/transfer.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 1db9c58e8d..07100e236e 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -421,77 +421,7 @@ include::config/submodule.txt[]\n \n include::config/tag.txt[]\n \n-transfer.fsckObjects::\n-\tWhen `fetch.fsckObjects` or `receive.fsckObjects` are\n-\tnot set, the value of this variable is used instead.\n-\tDefaults to false.\n-+\n-When set, the fetch or receive will abort in the case of a malformed\n-object or a link to a nonexistent object. In addition, various other\n-issues are checked for, including legacy issues (see `fsck.<msg-id>`),\n-and potential security issues like the existence of a `.GIT` directory\n-or a malicious `.gitmodules` file (see the release notes for v2.2.1\n-and v2.17.1 for details). Other sanity and security checks may be\n-added in future releases.\n-+\n-On the receiving side, failing fsckObjects will make those objects\n-unreachable, see \"QUARANTINE ENVIRONMENT\" in\n-linkgit:git-receive-pack[1]. On the fetch side, malformed objects will\n-instead be left unreferenced in the repository.\n-+\n-Due to the non-quarantine nature of the `fetch.fsckObjects`\n-implementation it can not be relied upon to leave the object store\n-clean like `receive.fsckObjects` can.\n-+\n-As objects are unpacked they're written to the object store, so there\n-can be cases where malicious objects get introduced even though the\n-\"fetch\" failed, only to have a subsequent \"fetch\" succeed because only\n-new incoming objects are checked, not those that have already been\n-written to the object store. That difference in behavior should not be\n-relied upon. In the future, such objects may be quarantined for\n-\"fetch\" as well.\n-+\n-For now, the paranoid need to find some way to emulate the quarantine\n-environment if they'd like the same protection as \"push\". E.g. in the\n-case of an internal mirror do the mirroring in two steps, one to fetch\n-the untrusted objects, and then do a second \"push\" (which will use the\n-quarantine) to another internal repo, and have internal clients\n-consume this pushed-to repository, or embargo internal fetches and\n-only allow them once a full \"fsck\" has run (and no new fetches have\n-happened in the meantime).\n-\n-transfer.hideRefs::\n-\tString(s) `receive-pack` and `upload-pack` use to decide which\n-\trefs to omit from their initial advertisements.  Use more than\n-\tone definition to specify multiple prefix strings. A ref that is\n-\tunder the hierarchies listed in the value of this variable is\n-\texcluded, and is hidden when responding to `git push` or `git\n-\tfetch`.  See `receive.hideRefs` and `uploadpack.hideRefs` for\n-\tprogram-specific versions of this config.\n-+\n-You may also include a `!` in front of the ref name to negate the entry,\n-explicitly exposing it, even if an earlier entry marked it as hidden.\n-If you have multiple hideRefs values, later entries override earlier ones\n-(and entries in more-specific config files override less-specific ones).\n-+\n-If a namespace is in use, the namespace prefix is stripped from each\n-reference before it is matched against `transfer.hiderefs` patterns.\n-For example, if `refs/heads/master` is specified in `transfer.hideRefs` and\n-the current namespace is `foo`, then `refs/namespaces/foo/refs/heads/master`\n-is omitted from the advertisements but `refs/heads/master` and\n-`refs/namespaces/bar/refs/heads/master` are still advertised as so-called\n-\"have\" lines. In order to match refs before stripping, add a `^` in front of\n-the ref name. If you combine `!` and `^`, `!` must be specified first.\n-+\n-Even if you hide refs, a client may still be able to steal the target\n-objects via the techniques described in the \"SECURITY\" section of the\n-linkgit:gitnamespaces[7] man page; it's best to keep private data in a\n-separate repository.\n-\n-transfer.unpackLimit::\n-\tWhen `fetch.unpackLimit` or `receive.unpackLimit` are\n-\tnot set, the value of this variable is used instead.\n-\tThe default value is 100.\n+include::config/transfer.txt[]\n \n uploadarchive.allowUnreachable::\n \tIf true, allow clients to use `git archive --remote` to request\ndiff --git a/Documentation/config/transfer.txt b/Documentation/config/transfer.txt\nnew file mode 100644\nindex 0000000000..4a5dfe2fc1\n--- /dev/null\n+++ b/Documentation/config/transfer.txt\n@@ -0,0 +1,71 @@\n+transfer.fsckObjects::\n+\tWhen `fetch.fsckObjects` or `receive.fsckObjects` are\n+\tnot set, the value of this variable is used instead.\n+\tDefaults to false.\n++\n+When set, the fetch or receive will abort in the case of a malformed\n+object or a link to a nonexistent object. In addition, various other\n+issues are checked for, including legacy issues (see `fsck.<msg-id>`),\n+and potential security issues like the existence of a `.GIT` directory\n+or a malicious `.gitmodules` file (see the release notes for v2.2.1\n+and v2.17.1 for details). Other sanity and security checks may be\n+added in future releases.\n++\n+On the receiving side, failing fsckObjects will make those objects\n+unreachable, see \"QUARANTINE ENVIRONMENT\" in\n+linkgit:git-receive-pack[1]. On the fetch side, malformed objects will\n+instead be left unreferenced in the repository.\n++\n+Due to the non-quarantine nature of the `fetch.fsckObjects`\n+implementation it can not be relied upon to leave the object store\n+clean like `receive.fsckObjects` can.\n++\n+As objects are unpacked they're written to the object store, so there\n+can be cases where malicious objects get introduced even though the\n+\"fetch\" failed, only to have a subsequent \"fetch\" succeed because only\n+new incoming objects are checked, not those that have already been\n+written to the object store. That difference in behavior should not be\n+relied upon. In the future, such objects may be quarantined for\n+\"fetch\" as well.\n++\n+For now, the paranoid need to find some way to emulate the quarantine\n+environment if they'd like the same protection as \"push\". E.g. in the\n+case of an internal mirror do the mirroring in two steps, one to fetch\n+the untrusted objects, and then do a second \"push\" (which will use the\n+quarantine) to another internal repo, and have internal clients\n+consume this pushed-to repository, or embargo internal fetches and\n+only allow them once a full \"fsck\" has run (and no new fetches have\n+happened in the meantime).\n+\n+transfer.hideRefs::\n+\tString(s) `receive-pack` and `upload-pack` use to decide which\n+\trefs to omit from their initial advertisements.  Use more than\n+\tone definition to specify multiple prefix strings. A ref that is\n+\tunder the hierarchies listed in the value of this variable is\n+\texcluded, and is hidden when responding to `git push` or `git\n+\tfetch`.  See `receive.hideRefs` and `uploadpack.hideRefs` for\n+\tprogram-specific versions of this config.\n++\n+You may also include a `!` in front of the ref name to negate the entry,\n+explicitly exposing it, even if an earlier entry marked it as hidden.\n+If you have multiple hideRefs values, later entries override earlier ones\n+(and entries in more-specific config files override less-specific ones).\n++\n+If a namespace is in use, the namespace prefix is stripped from each\n+reference before it is matched against `transfer.hiderefs` patterns.\n+For example, if `refs/heads/master` is specified in `transfer.hideRefs` and\n+the current namespace is `foo`, then `refs/namespaces/foo/refs/heads/master`\n+is omitted from the advertisements but `refs/heads/master` and\n+`refs/namespaces/bar/refs/heads/master` are still advertised as so-called\n+\"have\" lines. In order to match refs before stripping, add a `^` in front of\n+the ref name. If you combine `!` and `^`, `!` must be specified first.\n++\n+Even if you hide refs, a client may still be able to steal the target\n+objects via the techniques described in the \"SECURITY\" section of the\n+linkgit:gitnamespaces[7] man page; it's best to keep private data in a\n+separate repository.\n+\n+transfer.unpackLimit::\n+\tWhen `fetch.unpackLimit` or `receive.unpackLimit` are\n+\tnot set, the value of this variable is used instead.\n+\tThe default value is 100.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361735","messageId":"20181027062351.30446-73-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 72/78] config.txt: move uploadpack.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:45Z","receivedAt":"2018-10-27T06:25:23Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt            | 66 +----------------------------\n Documentation/config/uploadpack.txt | 65 ++++++++++++++++++++++++++++\n 2 files changed, 66 insertions(+), 65 deletions(-)\n create mode 100644 Documentation/config/uploadpack.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 00cc2791b5..451c9fe2b3 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -425,71 +425,7 @@ include::config/transfer.txt[]\n \n include::config/uploadarchive.txt[]\n \n-uploadpack.hideRefs::\n-\tThis variable is the same as `transfer.hideRefs`, but applies\n-\tonly to `upload-pack` (and so affects only fetches, not pushes).\n-\tAn attempt to fetch a hidden ref by `git fetch` will fail.  See\n-\talso `uploadpack.allowTipSHA1InWant`.\n-\n-uploadpack.allowTipSHA1InWant::\n-\tWhen `uploadpack.hideRefs` is in effect, allow `upload-pack`\n-\tto accept a fetch request that asks for an object at the tip\n-\tof a hidden ref (by default, such a request is rejected).\n-\tSee also `uploadpack.hideRefs`.  Even if this is false, a client\n-\tmay be able to steal objects via the techniques described in the\n-\t\"SECURITY\" section of the linkgit:gitnamespaces[7] man page; it's\n-\tbest to keep private data in a separate repository.\n-\n-uploadpack.allowReachableSHA1InWant::\n-\tAllow `upload-pack` to accept a fetch request that asks for an\n-\tobject that is reachable from any ref tip. However, note that\n-\tcalculating object reachability is computationally expensive.\n-\tDefaults to `false`.  Even if this is false, a client may be able\n-\tto steal objects via the techniques described in the \"SECURITY\"\n-\tsection of the linkgit:gitnamespaces[7] man page; it's best to\n-\tkeep private data in a separate repository.\n-\n-uploadpack.allowAnySHA1InWant::\n-\tAllow `upload-pack` to accept a fetch request that asks for any\n-\tobject at all.\n-\tDefaults to `false`.\n-\n-uploadpack.keepAlive::\n-\tWhen `upload-pack` has started `pack-objects`, there may be a\n-\tquiet period while `pack-objects` prepares the pack. Normally\n-\tit would output progress information, but if `--quiet` was used\n-\tfor the fetch, `pack-objects` will output nothing at all until\n-\tthe pack data begins. Some clients and networks may consider\n-\tthe server to be hung and give up. Setting this option instructs\n-\t`upload-pack` to send an empty keepalive packet every\n-\t`uploadpack.keepAlive` seconds. Setting this option to 0\n-\tdisables keepalive packets entirely. The default is 5 seconds.\n-\n-uploadpack.packObjectsHook::\n-\tIf this option is set, when `upload-pack` would run\n-\t`git pack-objects` to create a packfile for a client, it will\n-\trun this shell command instead.  The `pack-objects` command and\n-\targuments it _would_ have run (including the `git pack-objects`\n-\tat the beginning) are appended to the shell command. The stdin\n-\tand stdout of the hook are treated as if `pack-objects` itself\n-\twas run. I.e., `upload-pack` will feed input intended for\n-\t`pack-objects` to the hook, and expects a completed packfile on\n-\tstdout.\n-+\n-Note that this configuration variable is ignored if it is seen in the\n-repository-level config (this is a safety measure against fetching from\n-untrusted repositories).\n-\n-uploadpack.allowFilter::\n-\tIf this option is set, `upload-pack` will support partial\n-\tclone and partial fetch object filtering.\n-\n-uploadpack.allowRefInWant::\n-\tIf this option is set, `upload-pack` will support the `ref-in-want`\n-\tfeature of the protocol version 2 `fetch` command.  This feature\n-\tis intended for the benefit of load-balanced servers which may\n-\tnot have the same view of what OIDs their refs point to due to\n-\treplication delay.\n+include::config/uploadpack.txt[]\n \n url.<base>.insteadOf::\n \tAny URL that starts with this value will be rewritten to\ndiff --git a/Documentation/config/uploadpack.txt b/Documentation/config/uploadpack.txt\nnew file mode 100644\nindex 0000000000..ed1c835695\n--- /dev/null\n+++ b/Documentation/config/uploadpack.txt\n@@ -0,0 +1,65 @@\n+uploadpack.hideRefs::\n+\tThis variable is the same as `transfer.hideRefs`, but applies\n+\tonly to `upload-pack` (and so affects only fetches, not pushes).\n+\tAn attempt to fetch a hidden ref by `git fetch` will fail.  See\n+\talso `uploadpack.allowTipSHA1InWant`.\n+\n+uploadpack.allowTipSHA1InWant::\n+\tWhen `uploadpack.hideRefs` is in effect, allow `upload-pack`\n+\tto accept a fetch request that asks for an object at the tip\n+\tof a hidden ref (by default, such a request is rejected).\n+\tSee also `uploadpack.hideRefs`.  Even if this is false, a client\n+\tmay be able to steal objects via the techniques described in the\n+\t\"SECURITY\" section of the linkgit:gitnamespaces[7] man page; it's\n+\tbest to keep private data in a separate repository.\n+\n+uploadpack.allowReachableSHA1InWant::\n+\tAllow `upload-pack` to accept a fetch request that asks for an\n+\tobject that is reachable from any ref tip. However, note that\n+\tcalculating object reachability is computationally expensive.\n+\tDefaults to `false`.  Even if this is false, a client may be able\n+\tto steal objects via the techniques described in the \"SECURITY\"\n+\tsection of the linkgit:gitnamespaces[7] man page; it's best to\n+\tkeep private data in a separate repository.\n+\n+uploadpack.allowAnySHA1InWant::\n+\tAllow `upload-pack` to accept a fetch request that asks for any\n+\tobject at all.\n+\tDefaults to `false`.\n+\n+uploadpack.keepAlive::\n+\tWhen `upload-pack` has started `pack-objects`, there may be a\n+\tquiet period while `pack-objects` prepares the pack. Normally\n+\tit would output progress information, but if `--quiet` was used\n+\tfor the fetch, `pack-objects` will output nothing at all until\n+\tthe pack data begins. Some clients and networks may consider\n+\tthe server to be hung and give up. Setting this option instructs\n+\t`upload-pack` to send an empty keepalive packet every\n+\t`uploadpack.keepAlive` seconds. Setting this option to 0\n+\tdisables keepalive packets entirely. The default is 5 seconds.\n+\n+uploadpack.packObjectsHook::\n+\tIf this option is set, when `upload-pack` would run\n+\t`git pack-objects` to create a packfile for a client, it will\n+\trun this shell command instead.  The `pack-objects` command and\n+\targuments it _would_ have run (including the `git pack-objects`\n+\tat the beginning) are appended to the shell command. The stdin\n+\tand stdout of the hook are treated as if `pack-objects` itself\n+\twas run. I.e., `upload-pack` will feed input intended for\n+\t`pack-objects` to the hook, and expects a completed packfile on\n+\tstdout.\n++\n+Note that this configuration variable is ignored if it is seen in the\n+repository-level config (this is a safety measure against fetching from\n+untrusted repositories).\n+\n+uploadpack.allowFilter::\n+\tIf this option is set, `upload-pack` will support partial\n+\tclone and partial fetch object filtering.\n+\n+uploadpack.allowRefInWant::\n+\tIf this option is set, `upload-pack` will support the `ref-in-want`\n+\tfeature of the protocol version 2 `fetch` command.  This feature\n+\tis intended for the benefit of load-balanced servers which may\n+\tnot have the same view of what OIDs their refs point to due to\n+\treplication delay.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361736","messageId":"20181027062351.30446-74-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 73/78] config.txt: move url.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:46Z","receivedAt":"2018-10-27T06:25:24Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt     | 31 +------------------------------\n Documentation/config/url.txt | 30 ++++++++++++++++++++++++++++++\n 2 files changed, 31 insertions(+), 30 deletions(-)\n create mode 100644 Documentation/config/url.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 451c9fe2b3..924776f7fa 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -427,36 +427,7 @@ include::config/uploadarchive.txt[]\n \n include::config/uploadpack.txt[]\n \n-url.<base>.insteadOf::\n-\tAny URL that starts with this value will be rewritten to\n-\tstart, instead, with <base>. In cases where some site serves a\n-\tlarge number of repositories, and serves them with multiple\n-\taccess methods, and some users need to use different access\n-\tmethods, this feature allows people to specify any of the\n-\tequivalent URLs and have Git automatically rewrite the URL to\n-\tthe best alternative for the particular user, even for a\n-\tnever-before-seen repository on the site.  When more than one\n-\tinsteadOf strings match a given URL, the longest match is used.\n-+\n-Note that any protocol restrictions will be applied to the rewritten\n-URL. If the rewrite changes the URL to use a custom protocol or remote\n-helper, you may need to adjust the `protocol.*.allow` config to permit\n-the request.  In particular, protocols you expect to use for submodules\n-must be set to `always` rather than the default of `user`. See the\n-description of `protocol.allow` above.\n-\n-url.<base>.pushInsteadOf::\n-\tAny URL that starts with this value will not be pushed to;\n-\tinstead, it will be rewritten to start with <base>, and the\n-\tresulting URL will be pushed to. In cases where some site serves\n-\ta large number of repositories, and serves them with multiple\n-\taccess methods, some of which do not allow push, this feature\n-\tallows people to specify a pull-only URL and have Git\n-\tautomatically use an appropriate URL to push, even for a\n-\tnever-before-seen repository on the site.  When more than one\n-\tpushInsteadOf strings match a given URL, the longest match is\n-\tused.  If a remote has an explicit pushurl, Git will ignore this\n-\tsetting for that remote.\n+include::config/url.txt[]\n \n user.email::\n \tYour email address to be recorded in any newly created commits.\ndiff --git a/Documentation/config/url.txt b/Documentation/config/url.txt\nnew file mode 100644\nindex 0000000000..e5566c371d\n--- /dev/null\n+++ b/Documentation/config/url.txt\n@@ -0,0 +1,30 @@\n+url.<base>.insteadOf::\n+\tAny URL that starts with this value will be rewritten to\n+\tstart, instead, with <base>. In cases where some site serves a\n+\tlarge number of repositories, and serves them with multiple\n+\taccess methods, and some users need to use different access\n+\tmethods, this feature allows people to specify any of the\n+\tequivalent URLs and have Git automatically rewrite the URL to\n+\tthe best alternative for the particular user, even for a\n+\tnever-before-seen repository on the site.  When more than one\n+\tinsteadOf strings match a given URL, the longest match is used.\n++\n+Note that any protocol restrictions will be applied to the rewritten\n+URL. If the rewrite changes the URL to use a custom protocol or remote\n+helper, you may need to adjust the `protocol.*.allow` config to permit\n+the request.  In particular, protocols you expect to use for submodules\n+must be set to `always` rather than the default of `user`. See the\n+description of `protocol.allow` above.\n+\n+url.<base>.pushInsteadOf::\n+\tAny URL that starts with this value will not be pushed to;\n+\tinstead, it will be rewritten to start with <base>, and the\n+\tresulting URL will be pushed to. In cases where some site serves\n+\ta large number of repositories, and serves them with multiple\n+\taccess methods, some of which do not allow push, this feature\n+\tallows people to specify a pull-only URL and have Git\n+\tautomatically use an appropriate URL to push, even for a\n+\tnever-before-seen repository on the site.  When more than one\n+\tpushInsteadOf strings match a given URL, the longest match is\n+\tused.  If a remote has an explicit pushurl, Git will ignore this\n+\tsetting for that remote.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361737","messageId":"20181027062351.30446-72-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 71/78] config.txt: move uploadarchive.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:44Z","receivedAt":"2018-10-27T06:25:26Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt               | 7 +------\n Documentation/config/uploadarchive.txt | 6 ++++++\n 2 files changed, 7 insertions(+), 6 deletions(-)\n create mode 100644 Documentation/config/uploadarchive.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 07100e236e..00cc2791b5 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -423,12 +423,7 @@ include::config/tag.txt[]\n \n include::config/transfer.txt[]\n \n-uploadarchive.allowUnreachable::\n-\tIf true, allow clients to use `git archive --remote` to request\n-\tany tree, whether reachable from the ref tips or not. See the\n-\tdiscussion in the \"SECURITY\" section of\n-\tlinkgit:git-upload-archive[1] for more details. Defaults to\n-\t`false`.\n+include::config/uploadarchive.txt[]\n \n uploadpack.hideRefs::\n \tThis variable is the same as `transfer.hideRefs`, but applies\ndiff --git a/Documentation/config/uploadarchive.txt b/Documentation/config/uploadarchive.txt\nnew file mode 100644\nindex 0000000000..e0698e8c1d\n--- /dev/null\n+++ b/Documentation/config/uploadarchive.txt\n@@ -0,0 +1,6 @@\n+uploadarchive.allowUnreachable::\n+\tIf true, allow clients to use `git archive --remote` to request\n+\tany tree, whether reachable from the ref tips or not. See the\n+\tdiscussion in the \"SECURITY\" section of\n+\tlinkgit:git-upload-archive[1] for more details. Defaults to\n+\t`false`.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361738","messageId":"20181027062351.30446-76-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 75/78] config.txt: move versionsort.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:48Z","receivedAt":"2018-10-27T06:25:27Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt             | 34 +---------------------------\n Documentation/config/versionsort.txt | 33 +++++++++++++++++++++++++++\n 2 files changed, 34 insertions(+), 33 deletions(-)\n create mode 100644 Documentation/config/versionsort.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 3cba2420e0..eacaaa2deb 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -431,39 +431,7 @@ include::config/url.txt[]\n \n include::config/user.txt[]\n \n-versionsort.prereleaseSuffix (deprecated)::\n-\tDeprecated alias for `versionsort.suffix`.  Ignored if\n-\t`versionsort.suffix` is set.\n-\n-versionsort.suffix::\n-\tEven when version sort is used in linkgit:git-tag[1], tagnames\n-\twith the same base version but different suffixes are still sorted\n-\tlexicographically, resulting e.g. in prerelease tags appearing\n-\tafter the main release (e.g. \"1.0-rc1\" after \"1.0\").  This\n-\tvariable can be specified to determine the sorting order of tags\n-\twith different suffixes.\n-+\n-By specifying a single suffix in this variable, any tagname containing\n-that suffix will appear before the corresponding main release.  E.g. if\n-the variable is set to \"-rc\", then all \"1.0-rcX\" tags will appear before\n-\"1.0\".  If specified multiple times, once per suffix, then the order of\n-suffixes in the configuration will determine the sorting order of tagnames\n-with those suffixes.  E.g. if \"-pre\" appears before \"-rc\" in the\n-configuration, then all \"1.0-preX\" tags will be listed before any\n-\"1.0-rcX\" tags.  The placement of the main release tag relative to tags\n-with various suffixes can be determined by specifying the empty suffix\n-among those other suffixes.  E.g. if the suffixes \"-rc\", \"\", \"-ck\" and\n-\"-bfs\" appear in the configuration in this order, then all \"v4.8-rcX\" tags\n-are listed first, followed by \"v4.8\", then \"v4.8-ckX\" and finally\n-\"v4.8-bfsX\".\n-+\n-If more than one suffixes match the same tagname, then that tagname will\n-be sorted according to the suffix which starts at the earliest position in\n-the tagname.  If more than one different matching suffixes start at\n-that earliest position, then that tagname will be sorted according to the\n-longest of those suffixes.\n-The sorting order between different suffixes is undefined if they are\n-in multiple config files.\n+include::config/versionsort.txt[]\n \n web.browser::\n \tSpecify a web browser that may be used by some commands.\ndiff --git a/Documentation/config/versionsort.txt b/Documentation/config/versionsort.txt\nnew file mode 100644\nindex 0000000000..6c7cc054fa\n--- /dev/null\n+++ b/Documentation/config/versionsort.txt\n@@ -0,0 +1,33 @@\n+versionsort.prereleaseSuffix (deprecated)::\n+\tDeprecated alias for `versionsort.suffix`.  Ignored if\n+\t`versionsort.suffix` is set.\n+\n+versionsort.suffix::\n+\tEven when version sort is used in linkgit:git-tag[1], tagnames\n+\twith the same base version but different suffixes are still sorted\n+\tlexicographically, resulting e.g. in prerelease tags appearing\n+\tafter the main release (e.g. \"1.0-rc1\" after \"1.0\").  This\n+\tvariable can be specified to determine the sorting order of tags\n+\twith different suffixes.\n++\n+By specifying a single suffix in this variable, any tagname containing\n+that suffix will appear before the corresponding main release.  E.g. if\n+the variable is set to \"-rc\", then all \"1.0-rcX\" tags will appear before\n+\"1.0\".  If specified multiple times, once per suffix, then the order of\n+suffixes in the configuration will determine the sorting order of tagnames\n+with those suffixes.  E.g. if \"-pre\" appears before \"-rc\" in the\n+configuration, then all \"1.0-preX\" tags will be listed before any\n+\"1.0-rcX\" tags.  The placement of the main release tag relative to tags\n+with various suffixes can be determined by specifying the empty suffix\n+among those other suffixes.  E.g. if the suffixes \"-rc\", \"\", \"-ck\" and\n+\"-bfs\" appear in the configuration in this order, then all \"v4.8-rcX\" tags\n+are listed first, followed by \"v4.8\", then \"v4.8-ckX\" and finally\n+\"v4.8-bfsX\".\n++\n+If more than one suffixes match the same tagname, then that tagname will\n+be sorted according to the suffix which starts at the earliest position in\n+the tagname.  If more than one different matching suffixes start at\n+that earliest position, then that tagname will be sorted according to the\n+longest of those suffixes.\n+The sorting order between different suffixes is undefined if they are\n+in multiple config files.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361739","messageId":"20181027062351.30446-75-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 74/78] config.txt: move user.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:47Z","receivedAt":"2018-10-27T06:25:27Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt      | 27 +--------------------------\n Documentation/config/user.txt | 26 ++++++++++++++++++++++++++\n 2 files changed, 27 insertions(+), 26 deletions(-)\n create mode 100644 Documentation/config/user.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 924776f7fa..3cba2420e0 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -429,32 +429,7 @@ include::config/uploadpack.txt[]\n \n include::config/url.txt[]\n \n-user.email::\n-\tYour email address to be recorded in any newly created commits.\n-\tCan be overridden by the `GIT_AUTHOR_EMAIL`, `GIT_COMMITTER_EMAIL`, and\n-\t`EMAIL` environment variables.  See linkgit:git-commit-tree[1].\n-\n-user.name::\n-\tYour full name to be recorded in any newly created commits.\n-\tCan be overridden by the `GIT_AUTHOR_NAME` and `GIT_COMMITTER_NAME`\n-\tenvironment variables.  See linkgit:git-commit-tree[1].\n-\n-user.useConfigOnly::\n-\tInstruct Git to avoid trying to guess defaults for `user.email`\n-\tand `user.name`, and instead retrieve the values only from the\n-\tconfiguration. For example, if you have multiple email addresses\n-\tand would like to use a different one for each repository, then\n-\twith this configuration option set to `true` in the global config\n-\talong with a name, Git will prompt you to set up an email before\n-\tmaking new commits in a newly cloned repository.\n-\tDefaults to `false`.\n-\n-user.signingKey::\n-\tIf linkgit:git-tag[1] or linkgit:git-commit[1] is not selecting the\n-\tkey you want it to automatically when creating a signed tag or\n-\tcommit, you can override the default selection with this variable.\n-\tThis option is passed unchanged to gpg's --local-user parameter,\n-\tso you may specify a key using any method that gpg supports.\n+include::config/user.txt[]\n \n versionsort.prereleaseSuffix (deprecated)::\n \tDeprecated alias for `versionsort.suffix`.  Ignored if\ndiff --git a/Documentation/config/user.txt b/Documentation/config/user.txt\nnew file mode 100644\nindex 0000000000..b5b2ba1199\n--- /dev/null\n+++ b/Documentation/config/user.txt\n@@ -0,0 +1,26 @@\n+user.email::\n+\tYour email address to be recorded in any newly created commits.\n+\tCan be overridden by the `GIT_AUTHOR_EMAIL`, `GIT_COMMITTER_EMAIL`, and\n+\t`EMAIL` environment variables.  See linkgit:git-commit-tree[1].\n+\n+user.name::\n+\tYour full name to be recorded in any newly created commits.\n+\tCan be overridden by the `GIT_AUTHOR_NAME` and `GIT_COMMITTER_NAME`\n+\tenvironment variables.  See linkgit:git-commit-tree[1].\n+\n+user.useConfigOnly::\n+\tInstruct Git to avoid trying to guess defaults for `user.email`\n+\tand `user.name`, and instead retrieve the values only from the\n+\tconfiguration. For example, if you have multiple email addresses\n+\tand would like to use a different one for each repository, then\n+\twith this configuration option set to `true` in the global config\n+\talong with a name, Git will prompt you to set up an email before\n+\tmaking new commits in a newly cloned repository.\n+\tDefaults to `false`.\n+\n+user.signingKey::\n+\tIf linkgit:git-tag[1] or linkgit:git-commit[1] is not selecting the\n+\tkey you want it to automatically when creating a signed tag or\n+\tcommit, you can override the default selection with this variable.\n+\tThis option is passed unchanged to gpg's --local-user parameter,\n+\tso you may specify a key using any method that gpg supports.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361741","messageId":"20181027062351.30446-77-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 76/78] config.txt: move web.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:49Z","receivedAt":"2018-10-27T06:25:29Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt     | 5 +----\n Documentation/config/web.txt | 4 ++++\n 2 files changed, 5 insertions(+), 4 deletions(-)\n create mode 100644 Documentation/config/web.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex eacaaa2deb..10617d0a10 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -433,10 +433,7 @@ include::config/user.txt[]\n \n include::config/versionsort.txt[]\n \n-web.browser::\n-\tSpecify a web browser that may be used by some commands.\n-\tCurrently only linkgit:git-instaweb[1] and linkgit:git-help[1]\n-\tmay use it.\n+include::config/web.txt[]\n \n worktree.guessRemote::\n \tWith `add`, if no branch argument, and neither of `-b` nor\ndiff --git a/Documentation/config/web.txt b/Documentation/config/web.txt\nnew file mode 100644\nindex 0000000000..beec8d1303\n--- /dev/null\n+++ b/Documentation/config/web.txt\n@@ -0,0 +1,4 @@\n+web.browser::\n+\tSpecify a web browser that may be used by some commands.\n+\tCurrently only linkgit:git-instaweb[1] and linkgit:git-help[1]\n+\tmay use it.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361740","messageId":"20181027062351.30446-79-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 78/78] config.txt: remove config/dummy.txt","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:51Z","receivedAt":"2018-10-27T06:25:30Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"This file was only needed when config directory was empty. Now that\nthe directory is fully populated, it can be deleted.\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config/dummy.txt | 0\n 1 file changed, 0 insertions(+), 0 deletions(-)\n delete mode 100644 Documentation/config/dummy.txt\n\ndiff --git a/Documentation/config/dummy.txt b/Documentation/config/dummy.txt\ndeleted file mode 100644\nindex e69de29bb2..0000000000\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361742","messageId":"20181027062351.30446-78-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 77/78] config.txt: move worktree.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:50Z","receivedAt":"2018-10-27T06:25:30Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt          | 10 +---------\n Documentation/config/worktree.txt |  9 +++++++++\n 2 files changed, 10 insertions(+), 9 deletions(-)\n create mode 100644 Documentation/config/worktree.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 10617d0a10..75b8f6964d 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -435,12 +435,4 @@ include::config/versionsort.txt[]\n \n include::config/web.txt[]\n \n-worktree.guessRemote::\n-\tWith `add`, if no branch argument, and neither of `-b` nor\n-\t`-B` nor `--detach` are given, the command defaults to\n-\tcreating a new branch from HEAD.  If `worktree.guessRemote` is\n-\tset to true, `worktree add` tries to find a remote-tracking\n-\tbranch whose name uniquely matches the new branch name.  If\n-\tsuch a branch exists, it is checked out and set as \"upstream\"\n-\tfor the new branch.  If no such match can be found, it falls\n-\tback to creating a new branch from the current HEAD.\n+include::config/worktree.txt[]\ndiff --git a/Documentation/config/worktree.txt b/Documentation/config/worktree.txt\nnew file mode 100644\nindex 0000000000..b853798fc2\n--- /dev/null\n+++ b/Documentation/config/worktree.txt\n@@ -0,0 +1,9 @@\n+worktree.guessRemote::\n+\tWith `add`, if no branch argument, and neither of `-b` nor\n+\t`-B` nor `--detach` are given, the command defaults to\n+\tcreating a new branch from HEAD.  If `worktree.guessRemote` is\n+\tset to true, `worktree add` tries to find a remote-tracking\n+\tbranch whose name uniquely matches the new branch name.  If\n+\tsuch a branch exists, it is checked out and set as \"upstream\"\n+\tfor the new branch.  If no such match can be found, it falls\n+\tback to creating a new branch from the current HEAD.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361743","messageId":"20181027062351.30446-43-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 42/78] config.txt: move log.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:15Z","receivedAt":"2018-10-27T06:25:44Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt     | 44 +-----------------------------------\n Documentation/config/log.txt | 43 +++++++++++++++++++++++++++++++++++\n 2 files changed, 44 insertions(+), 43 deletions(-)\n create mode 100644 Documentation/config/log.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 763bb291e5..cce89ea50c 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -363,49 +363,7 @@ include::config/instaweb.txt[]\n \n include::config/interactive.txt[]\n \n-log.abbrevCommit::\n-\tIf true, makes linkgit:git-log[1], linkgit:git-show[1], and\n-\tlinkgit:git-whatchanged[1] assume `--abbrev-commit`. You may\n-\toverride this option with `--no-abbrev-commit`.\n-\n-log.date::\n-\tSet the default date-time mode for the 'log' command.\n-\tSetting a value for log.date is similar to using 'git log''s\n-\t`--date` option.  See linkgit:git-log[1] for details.\n-\n-log.decorate::\n-\tPrint out the ref names of any commits that are shown by the log\n-\tcommand. If 'short' is specified, the ref name prefixes 'refs/heads/',\n-\t'refs/tags/' and 'refs/remotes/' will not be printed. If 'full' is\n-\tspecified, the full ref name (including prefix) will be printed.\n-\tIf 'auto' is specified, then if the output is going to a terminal,\n-\tthe ref names are shown as if 'short' were given, otherwise no ref\n-\tnames are shown. This is the same as the `--decorate` option\n-\tof the `git log`.\n-\n-log.follow::\n-\tIf `true`, `git log` will act as if the `--follow` option was used when\n-\ta single <path> is given.  This has the same limitations as `--follow`,\n-\ti.e. it cannot be used to follow multiple files and does not work well\n-\ton non-linear history.\n-\n-log.graphColors::\n-\tA list of colors, separated by commas, that can be used to draw\n-\thistory lines in `git log --graph`.\n-\n-log.showRoot::\n-\tIf true, the initial commit will be shown as a big creation event.\n-\tThis is equivalent to a diff against an empty tree.\n-\tTools like linkgit:git-log[1] or linkgit:git-whatchanged[1], which\n-\tnormally hide the root commit will now show it. True by default.\n-\n-log.showSignature::\n-\tIf true, makes linkgit:git-log[1], linkgit:git-show[1], and\n-\tlinkgit:git-whatchanged[1] assume `--show-signature`.\n-\n-log.mailmap::\n-\tIf true, makes linkgit:git-log[1], linkgit:git-show[1], and\n-\tlinkgit:git-whatchanged[1] assume `--use-mailmap`.\n+include::config/log.txt[]\n \n mailinfo.scissors::\n \tIf true, makes linkgit:git-mailinfo[1] (and therefore\ndiff --git a/Documentation/config/log.txt b/Documentation/config/log.txt\nnew file mode 100644\nindex 0000000000..78d9e4453a\n--- /dev/null\n+++ b/Documentation/config/log.txt\n@@ -0,0 +1,43 @@\n+log.abbrevCommit::\n+\tIf true, makes linkgit:git-log[1], linkgit:git-show[1], and\n+\tlinkgit:git-whatchanged[1] assume `--abbrev-commit`. You may\n+\toverride this option with `--no-abbrev-commit`.\n+\n+log.date::\n+\tSet the default date-time mode for the 'log' command.\n+\tSetting a value for log.date is similar to using 'git log''s\n+\t`--date` option.  See linkgit:git-log[1] for details.\n+\n+log.decorate::\n+\tPrint out the ref names of any commits that are shown by the log\n+\tcommand. If 'short' is specified, the ref name prefixes 'refs/heads/',\n+\t'refs/tags/' and 'refs/remotes/' will not be printed. If 'full' is\n+\tspecified, the full ref name (including prefix) will be printed.\n+\tIf 'auto' is specified, then if the output is going to a terminal,\n+\tthe ref names are shown as if 'short' were given, otherwise no ref\n+\tnames are shown. This is the same as the `--decorate` option\n+\tof the `git log`.\n+\n+log.follow::\n+\tIf `true`, `git log` will act as if the `--follow` option was used when\n+\ta single <path> is given.  This has the same limitations as `--follow`,\n+\ti.e. it cannot be used to follow multiple files and does not work well\n+\ton non-linear history.\n+\n+log.graphColors::\n+\tA list of colors, separated by commas, that can be used to draw\n+\thistory lines in `git log --graph`.\n+\n+log.showRoot::\n+\tIf true, the initial commit will be shown as a big creation event.\n+\tThis is equivalent to a diff against an empty tree.\n+\tTools like linkgit:git-log[1] or linkgit:git-whatchanged[1], which\n+\tnormally hide the root commit will now show it. True by default.\n+\n+log.showSignature::\n+\tIf true, makes linkgit:git-log[1], linkgit:git-show[1], and\n+\tlinkgit:git-whatchanged[1] assume `--show-signature`.\n+\n+log.mailmap::\n+\tIf true, makes linkgit:git-log[1], linkgit:git-show[1], and\n+\tlinkgit:git-whatchanged[1] assume `--use-mailmap`.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361744","messageId":"20181027062351.30446-39-pclouds@gmail.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"[PATCH 38/78] config.txt: move index.* to a separate file","fromName":"Nguyễn Thái Ngọc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2018-10-27T06:23:11Z","receivedAt":"2018-10-27T06:25:46Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n---\n Documentation/config.txt       | 11 +----------\n Documentation/config/index.txt | 10 ++++++++++\n 2 files changed, 11 insertions(+), 10 deletions(-)\n create mode 100644 Documentation/config/index.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex d26656df95..03b7ac75fc 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -355,16 +355,7 @@ include::config/i18n.txt[]\n \n include::config/imap.txt[]\n \n-index.threads::\n-\tSpecifies the number of threads to spawn when loading the index.\n-\tThis is meant to reduce index load time on multiprocessor machines.\n-\tSpecifying 0 or 'true' will cause Git to auto-detect the number of\n-\tCPU's and set the number of threads accordingly. Specifying 1 or\n-\t'false' will disable multithreading. Defaults to 'true'.\n-\n-index.version::\n-\tSpecify the version with which new index files should be\n-\tinitialized.  This does not affect existing repositories.\n+include::config/index.txt[]\n \n init.templateDir::\n \tSpecify the directory from which templates will be copied.\ndiff --git a/Documentation/config/index.txt b/Documentation/config/index.txt\nnew file mode 100644\nindex 0000000000..4b94b6bedc\n--- /dev/null\n+++ b/Documentation/config/index.txt\n@@ -0,0 +1,10 @@\n+index.threads::\n+\tSpecifies the number of threads to spawn when loading the index.\n+\tThis is meant to reduce index load time on multiprocessor machines.\n+\tSpecifying 0 or 'true' will cause Git to auto-detect the number of\n+\tCPU's and set the number of threads accordingly. Specifying 1 or\n+\t'false' will disable multithreading. Defaults to 'true'.\n+\n+index.version::\n+\tSpecify the version with which new index files should be\n+\tinitialized.  This does not affect existing repositories.\n-- \n2.19.1.647.g708186aaf9\n\n"},{"id":"361859","messageId":"xmqqwoq18rt6.fsf@gitster-ct.c.googlers.com","threadId":"49696","inReplyTo":"20181027062351.30446-1-pclouds@gmail.com","subject":"Re: [PATCH 00/78] nd/config-split reroll","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-10-29T01:28:21Z","receivedAt":"2018-10-29T01:28:31Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Nguyễn Thái Ngọc Duy  <pclouds@gmail.com> writes:\n\n> Compared to the version on 'pu', this one moves all the config files\n> to Documentation/config/ directory. imap.* is also added back in\n> config.txt (curently only documented in git-imap-send.txt)\n\nThe other biggie seems to be http.* that are now in a separate\nfile, which is good.\n\n> This one is built on top of bp/reset-quiet and js/mingw-http-ssl to\n> avoid non-trivial conflicts.\n\nI've applied these on top of the suggested base, and compared the\nresult with a merge of the previous round with the suggested base.\nI didn't find any questionable differences.\n\n> I notice that there are duplicated config documentation in git-*.txt.\n> But given the size of this series, I think people will agree that can\n> be done separately later.\n\nYup.\n\nThanks.\n\n> Nguyễn Thái Ngọc Duy (78):\n>   Update makefile in preparation for Documentation/config/*.txt\n>   config.txt: move advice.* to a separate file\n>   config.txt: move core.* to a separate file\n>   config.txt: move add.* to a separate file\n>   config.txt: move alias.* to a separate file\n>   config.txt: move am.* to a separate file\n>   config.txt: move apply.* to a separate file\n>   config.txt: move blame.* to a separate file\n>   config.txt: move branch.* to a separate file\n>   config.txt: move browser.* to a separate file\n>   config.txt: move checkout.* to a separate file\n>   config.txt: move clean.* to a separate file\n>   config.txt: move color.* to a separate file\n>   config.txt: move column.* to a separate file\n>   config.txt: move commit.* to a separate file\n>   config.txt: move credential.* to a separate file\n>   config.txt: move completion.* to a separate file\n>   config.txt: move diff-config.txt to config/\n>   config.txt: move difftool.* to a separate file\n>   config.txt: move fastimport.* to a separate file\n>   config.txt: move fetch-config.txt to config/\n>   config.txt: move filter.* to a separate file\n>   config.txt: move format-config.txt to config/\n>   config.txt: move fmt-merge-msg-config.txt to config/\n>   config.txt: move fsck.* to a separate file\n>   config.txt: move gc.* to a separate file\n>   config.txt: move gitcvs-config.txt to config/\n>   config.txt: move gitweb.* to a separate file\n>   config.txt: move grep.* to a separate file\n>   config.txt: move gpg.* to a separate file\n>   config.txt: move gui-config.txt to config/\n>   config.txt: move guitool.* to a separate file\n>   config.txt: move help.* to a separate file\n>   config.txt: move ssh.* to a separate file\n>   config.txt: move http.* to a separate file\n>   config.txt: move i18n.* to a separate file\n>   git-imap-send.txt: move imap.* to a separate file\n>   config.txt: move index.* to a separate file\n>   config.txt: move init.* to a separate file\n>   config.txt: move instaweb.* to a separate file\n>   config.txt: move interactive.* to a separate file\n>   config.txt: move log.* to a separate file\n>   config.txt: move mailinfo.* to a separate file\n>   config.txt: move mailmap.* to a separate file\n>   config.txt: move man.* to a separate file\n>   config.txt: move merge-config.txt to config/\n>   config.txt: move mergetool.* to a separate file\n>   config.txt: move notes.* to a separate file\n>   config.txt: move pack.* to a separate file\n>   config.txt: move pager.* to a separate file\n>   config.txt: move pretty.* to a separate file\n>   config.txt: move protocol.* to a separate file\n>   config.txt: move pull-config.txt to config/\n>   config.txt: move push-config.txt to config/\n>   config.txt: move rebase-config.txt to config/\n>   config.txt: move receive-config.txt to config/\n>   config.txt: move remote.* to a separate file\n>   config.txt: move remotes.* to a separate file\n>   config.txt: move repack.* to a separate file\n>   config.txt: move rerere.* to a separate file\n>   config.txt: move reset.* to a separate file\n>   config.txt: move sendemail-config.txt to config/\n>   config.txt: move sequencer.* to a separate file\n>   config.txt: move showBranch.* to a separate file\n>   config.txt: move splitIndex.* to a separate file\n>   config.txt: move status.* to a separate file\n>   config.txt: move stash.* to a separate file\n>   config.txt: move submodule.* to a separate file\n>   config.txt: move tag.* to a separate file\n>   config.txt: move transfer.* to a separate file\n>   config.txt: move uploadarchive.* to a separate file\n>   config.txt: move uploadpack.* to a separate file\n>   config.txt: move url.* to a separate file\n>   config.txt: move user.* to a separate file\n>   config.txt: move versionsort.* to a separate file\n>   config.txt: move web.* to a separate file\n>   config.txt: move worktree.* to a separate file\n>   config.txt: remove config/dummy.txt\n>\n>  Documentation/Makefile                        |    2 +-\n>  Documentation/config.txt                      | 2957 +----------------\n>  Documentation/config/add.txt                  |    7 +\n>  Documentation/config/advice.txt               |   86 +\n>  Documentation/config/alias.txt                |   18 +\n>  Documentation/config/am.txt                   |   14 +\n>  Documentation/config/apply.txt                |   11 +\n>  Documentation/config/blame.txt                |   21 +\n>  Documentation/config/branch.txt               |  102 +\n>  Documentation/config/browser.txt              |    9 +\n>  Documentation/config/checkout.txt             |   23 +\n>  Documentation/config/clean.txt                |    3 +\n>  Documentation/config/color.txt                |  201 ++\n>  Documentation/config/column.txt               |   55 +\n>  Documentation/config/commit.txt               |   29 +\n>  Documentation/config/completion.txt           |    7 +\n>  Documentation/config/core.txt                 |  594 ++++\n>  Documentation/config/credential.txt           |   26 +\n>  .../{diff-config.txt => config/diff.txt}      |    2 +-\n>  Documentation/config/difftool.txt             |   14 +\n>  Documentation/config/fastimport.txt           |    8 +\n>  .../{fetch-config.txt => config/fetch.txt}    |    0\n>  Documentation/config/filter.txt               |    9 +\n>  .../fmt-merge-msg.txt}                        |    0\n>  .../{format-config.txt => config/format.txt}  |    0\n>  Documentation/config/fsck.txt                 |   67 +\n>  Documentation/config/gc.txt                   |  108 +\n>  .../{gitcvs-config.txt => config/gitcvs.txt}  |    0\n>  Documentation/config/gitweb.txt               |   16 +\n>  Documentation/config/gpg.txt                  |   20 +\n>  Documentation/config/grep.txt                 |   24 +\n>  .../{gui-config.txt => config/gui.txt}        |    0\n>  Documentation/config/guitool.txt              |   50 +\n>  Documentation/config/help.txt                 |   23 +\n>  Documentation/config/http.txt                 |  271 ++\n>  Documentation/config/i18n.txt                 |   10 +\n>  Documentation/config/imap.txt                 |   44 +\n>  Documentation/config/index.txt                |   10 +\n>  Documentation/config/init.txt                 |    3 +\n>  Documentation/config/instaweb.txt             |   20 +\n>  Documentation/config/interactive.txt          |   16 +\n>  Documentation/config/log.txt                  |   43 +\n>  Documentation/config/mailinfo.txt             |    6 +\n>  Documentation/config/mailmap.txt              |   15 +\n>  Documentation/config/man.txt                  |   12 +\n>  .../{merge-config.txt => config/merge.txt}    |    4 +-\n>  Documentation/config/mergetool.txt            |   53 +\n>  Documentation/config/notes.txt                |   59 +\n>  Documentation/config/pack.txt                 |  120 +\n>  Documentation/config/pager.txt                |    8 +\n>  Documentation/config/pretty.txt               |    9 +\n>  Documentation/config/protocol.txt             |   64 +\n>  .../{pull-config.txt => config/pull.txt}      |    0\n>  .../{push-config.txt => config/push.txt}      |    0\n>  .../{rebase-config.txt => config/rebase.txt}  |    0\n>  .../receive.txt}                              |    0\n>  Documentation/config/remote.txt               |   78 +\n>  Documentation/config/remotes.txt              |    3 +\n>  Documentation/config/repack.txt               |   27 +\n>  Documentation/config/rerere.txt               |   12 +\n>  Documentation/config/reset.txt                |    2 +\n>  .../sendemail.txt}                            |    0\n>  Documentation/config/sequencer.txt            |    5 +\n>  Documentation/config/showbranch.txt           |    3 +\n>  Documentation/config/splitindex.txt           |   24 +\n>  Documentation/config/ssh.txt                  |   35 +\n>  Documentation/config/stash.txt                |    9 +\n>  Documentation/config/status.txt               |   72 +\n>  .../submodule.txt}                            |    0\n>  Documentation/config/tag.txt                  |   16 +\n>  Documentation/config/transfer.txt             |   71 +\n>  Documentation/config/uploadarchive.txt        |    6 +\n>  Documentation/config/uploadpack.txt           |   65 +\n>  Documentation/config/url.txt                  |   30 +\n>  Documentation/config/user.txt                 |   26 +\n>  Documentation/config/versionsort.txt          |   33 +\n>  Documentation/config/web.txt                  |    4 +\n>  Documentation/config/worktree.txt             |    9 +\n>  Documentation/git-fmt-merge-msg.txt           |    2 +-\n>  Documentation/git-imap-send.txt               |   45 +-\n>  Documentation/git-merge.txt                   |    2 +-\n>  Documentation/git-rebase.txt                  |    2 +-\n>  Makefile                                      |    2 +-\n>  generate-cmdlist.sh                           |    2 +-\n>  84 files changed, 2959 insertions(+), 2899 deletions(-)\n>  create mode 100644 Documentation/config/add.txt\n>  create mode 100644 Documentation/config/advice.txt\n>  create mode 100644 Documentation/config/alias.txt\n>  create mode 100644 Documentation/config/am.txt\n>  create mode 100644 Documentation/config/apply.txt\n>  create mode 100644 Documentation/config/blame.txt\n>  create mode 100644 Documentation/config/branch.txt\n>  create mode 100644 Documentation/config/browser.txt\n>  create mode 100644 Documentation/config/checkout.txt\n>  create mode 100644 Documentation/config/clean.txt\n>  create mode 100644 Documentation/config/color.txt\n>  create mode 100644 Documentation/config/column.txt\n>  create mode 100644 Documentation/config/commit.txt\n>  create mode 100644 Documentation/config/completion.txt\n>  create mode 100644 Documentation/config/core.txt\n>  create mode 100644 Documentation/config/credential.txt\n>  rename Documentation/{diff-config.txt => config/diff.txt} (99%)\n>  create mode 100644 Documentation/config/difftool.txt\n>  create mode 100644 Documentation/config/fastimport.txt\n>  rename Documentation/{fetch-config.txt => config/fetch.txt} (100%)\n>  create mode 100644 Documentation/config/filter.txt\n>  rename Documentation/{fmt-merge-msg-config.txt => config/fmt-merge-msg.txt} (100%)\n>  rename Documentation/{format-config.txt => config/format.txt} (100%)\n>  create mode 100644 Documentation/config/fsck.txt\n>  create mode 100644 Documentation/config/gc.txt\n>  rename Documentation/{gitcvs-config.txt => config/gitcvs.txt} (100%)\n>  create mode 100644 Documentation/config/gitweb.txt\n>  create mode 100644 Documentation/config/gpg.txt\n>  create mode 100644 Documentation/config/grep.txt\n>  rename Documentation/{gui-config.txt => config/gui.txt} (100%)\n>  create mode 100644 Documentation/config/guitool.txt\n>  create mode 100644 Documentation/config/help.txt\n>  create mode 100644 Documentation/config/http.txt\n>  create mode 100644 Documentation/config/i18n.txt\n>  create mode 100644 Documentation/config/imap.txt\n>  create mode 100644 Documentation/config/index.txt\n>  create mode 100644 Documentation/config/init.txt\n>  create mode 100644 Documentation/config/instaweb.txt\n>  create mode 100644 Documentation/config/interactive.txt\n>  create mode 100644 Documentation/config/log.txt\n>  create mode 100644 Documentation/config/mailinfo.txt\n>  create mode 100644 Documentation/config/mailmap.txt\n>  create mode 100644 Documentation/config/man.txt\n>  rename Documentation/{merge-config.txt => config/merge.txt} (98%)\n>  create mode 100644 Documentation/config/mergetool.txt\n>  create mode 100644 Documentation/config/notes.txt\n>  create mode 100644 Documentation/config/pack.txt\n>  create mode 100644 Documentation/config/pager.txt\n>  create mode 100644 Documentation/config/pretty.txt\n>  create mode 100644 Documentation/config/protocol.txt\n>  rename Documentation/{pull-config.txt => config/pull.txt} (100%)\n>  rename Documentation/{push-config.txt => config/push.txt} (100%)\n>  rename Documentation/{rebase-config.txt => config/rebase.txt} (100%)\n>  rename Documentation/{receive-config.txt => config/receive.txt} (100%)\n>  create mode 100644 Documentation/config/remote.txt\n>  create mode 100644 Documentation/config/remotes.txt\n>  create mode 100644 Documentation/config/repack.txt\n>  create mode 100644 Documentation/config/rerere.txt\n>  create mode 100644 Documentation/config/reset.txt\n>  rename Documentation/{sendemail-config.txt => config/sendemail.txt} (100%)\n>  create mode 100644 Documentation/config/sequencer.txt\n>  create mode 100644 Documentation/config/showbranch.txt\n>  create mode 100644 Documentation/config/splitindex.txt\n>  create mode 100644 Documentation/config/ssh.txt\n>  create mode 100644 Documentation/config/stash.txt\n>  create mode 100644 Documentation/config/status.txt\n>  rename Documentation/{submodule-config.txt => config/submodule.txt} (100%)\n>  create mode 100644 Documentation/config/tag.txt\n>  create mode 100644 Documentation/config/transfer.txt\n>  create mode 100644 Documentation/config/uploadarchive.txt\n>  create mode 100644 Documentation/config/uploadpack.txt\n>  create mode 100644 Documentation/config/url.txt\n>  create mode 100644 Documentation/config/user.txt\n>  create mode 100644 Documentation/config/versionsort.txt\n>  create mode 100644 Documentation/config/web.txt\n>  create mode 100644 Documentation/config/worktree.txt\n"}]}