docs: document internal manifests.git/config settings
Change-Id: I6b32d925756375a9335522ff33376cb5f7ed1157
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/254073
Tested-by: Mike Frysinger <vapier@google.com>
Reviewed-by: David Pursehouse <dpursehouse@collab.net>
diff --git a/docs/internal-fs-layout.md b/docs/internal-fs-layout.md
index 231531c..9ca0414 100644
--- a/docs/internal-fs-layout.md
+++ b/docs/internal-fs-layout.md
@@ -103,6 +103,29 @@
* `subprojects/`: Like `projects/`, but for git submodules.
* `subproject-objects/`: Like `project-objects/`, but for git submodules.
+### Settings
+
+The `.repo/manifests.git/config` file is used to track settings for the entire
+repo client checkout.
+Most settings use the `[repo]` section to avoid conflicts with git.
+User controlled settings are initialized when running `repo init`.
+
+| Setting | `repo init` Option | Use/Meaning |
+|-------------------|---------------------------|-------------|
+| manifest.groups | `--groups` & `--platform` | The manifest groups to sync |
+| repo.archive | `--archive` | Use `git archive` for checkouts |
+| repo.clonefilter | `--clone-filter` | Filter setting when using [partial git clones] |
+| repo.depth | `--depth` | Create shallow checkouts when cloning |
+| repo.dissociate | `--dissociate` | Dissociate from any reference/mirrors after initial clone |
+| repo.mirror | `--mirror` | Checkout is a repo mirror |
+| repo.partialclone | `--partial-clone` | Create [partial git clones] |
+| repo.reference | `--reference` | Reference repo client checkout |
+| repo.submodules | `--submodules` | Sync git submodules |
+| user.email | `--config-name` | User's e-mail address; Copied into `.git/config` when checking out a new project |
+| user.name | `--config-name` | User's name; Copied into `.git/config` when checking out a new project |
+
+[partial git clones]: https://git-scm.com/docs/gitrepository-layout#_code_partialclone_code
+
## ~/ dotconfig layout
Repo will create & maintain a few files in the user's home directory.