diff options
Diffstat (limited to 'docs/internal-fs-layout.md')
| -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 | ||
