diff options
-rw-r--r-- | docs/internal-fs-layout.md | 60 |
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 | ||
108 | The `.repo/manifests.git/config` file is used to track settings for the entire | 108 | The `.repo/manifests.git/config` file is used to track settings for the entire |
109 | repo client checkout. | 109 | repo 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 | |||
131 | For more details on this feature, see the [repo-hooks docs](./repo-hooks.md). | ||
132 | We'll just discuss the internal configuration settings. | ||
133 | These are stored in the registered `<repo-hooks>` project itself, so if the | ||
134 | manifest 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 | |||
142 | For example, if our manifest had the following entries, we would store settings | ||
143 | under `.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 | |||
150 | If `<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 | |||
158 | These settings are somewhat meant to be tweaked by the user on a per-project | ||
159 | basis (e.g. `git config` in a checked out source repo). | ||
160 | |||
161 | Where possible, we re-use standard git settings to avoid confusion, and we | ||
162 | refrain from documenting those, so see [git-config] documentation instead. | ||
163 | |||
164 | See `repo help upload` for documentation on `[review]` settings. | ||
165 | |||
166 | The `[remote]` settings are automatically populated/updated from the manifest. | ||
167 | |||
168 | The `[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 | ||
131 | Repo will create & maintain a few files in the user's home directory. | 187 | Repo 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 | ||