summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/internal-fs-layout.md60
1 files changed, 59 insertions, 1 deletions
diff --git a/docs/internal-fs-layout.md b/docs/internal-fs-layout.md
index 9ca04148..0093e870 100644
--- a/docs/internal-fs-layout.md
+++ b/docs/internal-fs-layout.md
@@ -103,7 +103,7 @@ support, see the [manifest-format.md] file.
103* `subprojects/`: Like `projects/`, but for git submodules. 103* `subprojects/`: Like `projects/`, but for git submodules.
104* `subproject-objects/`: Like `project-objects/`, but for git submodules. 104* `subproject-objects/`: Like `project-objects/`, but for git submodules.
105 105
106### Settings 106### Global settings
107 107
108The `.repo/manifests.git/config` file is used to track settings for the entire 108The `.repo/manifests.git/config` file is used to track settings for the entire
109repo client checkout. 109repo client checkout.
@@ -126,6 +126,62 @@ User controlled settings are initialized when running `repo init`.
126 126
127[partial git clones]: https://git-scm.com/docs/gitrepository-layout#_code_partialclone_code 127[partial git clones]: https://git-scm.com/docs/gitrepository-layout#_code_partialclone_code
128 128
129### Repo hooks settings
130
131For more details on this feature, see the [repo-hooks docs](./repo-hooks.md).
132We'll just discuss the internal configuration settings.
133These are stored in the registered `<repo-hooks>` project itself, so if the
134manifest switches to a different project, the settings will not be copied.
135
136| Setting | Use/Meaning |
137|--------------------------------------|-------------|
138| repo.hooks.\<hook\>.approvedmanifest | User approval for secure manifest sources (e.g. https://) |
139| repo.hooks.\<hook\>.approvedhash | User approval for insecure manifest sources (e.g. http://) |
140
141
142For example, if our manifest had the following entries, we would store settings
143under `.repo/projects/src/repohooks.git/config` (which would be reachable via
144`git --git-dir=src/repohooks/.git config`).
145```xml
146 <project path="src/repohooks" name="chromiumos/repohooks" ... />
147 <repo-hooks in-project="chromiumos/repohooks" ... />
148```
149
150If `<hook>` is `pre-upload`, the `.git/config` setting might be:
151```ini
152[repo "hooks.pre-upload"]
153 approvedmanifest = https://chromium.googlesource.com/chromiumos/manifest
154```
155
156## Per-project settings
157
158These settings are somewhat meant to be tweaked by the user on a per-project
159basis (e.g. `git config` in a checked out source repo).
160
161Where possible, we re-use standard git settings to avoid confusion, and we
162refrain from documenting those, so see [git-config] documentation instead.
163
164See `repo help upload` for documentation on `[review]` settings.
165
166The `[remote]` settings are automatically populated/updated from the manifest.
167
168The `[branch]` settings are updated by `repo start` and `git branch`.
169
170| Setting | Subcommands | Use/Meaning |
171|-------------------------------|---------------|-------------|
172| review.\<url\>.autocopy | upload | Automatically add to `--cc=<value>` |
173| review.\<url\>.autoreviewer | upload | Automatically add to `--reviewers=<value>` |
174| review.\<url\>.autoupload | upload | Automatically answer "yes" or "no" to all prompts |
175| review.\<url\>.uploadtopic | upload | Default [topic] to use |
176| review.\<url\>.username | upload | Override username with `ssh://` review URIs |
177| remote.\<remote\>.fetch | sync | Set of refs to fetch |
178| remote.\<remote\>.projectname | \<network\> | The name of the project as it exists in Gerrit review |
179| remote.\<remote\>.pushurl | upload | The base URI for pushing CLs |
180| remote.\<remote\>.review | upload | The URI of the Gerrit review server |
181| remote.\<remote\>.url | sync & upload | The URI of the git project to fetch |
182| branch.\<branch\>.merge | sync & upload | The branch to merge & upload & track |
183| branch.\<branch\>.remote | sync & upload | The remote to track |
184
129## ~/ dotconfig layout 185## ~/ dotconfig layout
130 186
131Repo will create & maintain a few files in the user's home directory. 187Repo will create & maintain a few files in the user's home directory.
@@ -141,5 +197,7 @@ Repo will create & maintain a few files in the user's home directory.
141 read/process quickly. 197 read/process quickly.
142 198
143 199
200[git-config]: https://git-scm.com/docs/git-config
144[manifest-format.md]: ./manifest-format.md 201[manifest-format.md]: ./manifest-format.md
145[local manifests]: ./manifest-format.md#Local-Manifests 202[local manifests]: ./manifest-format.md#Local-Manifests
203[topic]: https://gerrit-review.googlesource.com/Documentation/intro-user.html#topics