diff --git a/docs/internal-fs-layout.md b/docs/internal-fs-layout.md index 231531cd..9ca04148 100644 --- a/docs/internal-fs-layout.md +++ b/docs/internal-fs-layout.md @@ -103,6 +103,29 @@ support, see the [manifest-format.md] file. * `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.