summaryrefslogtreecommitdiffstats
path: root/docs/internal-fs-layout.md
diff options
context:
space:
mode:
authorMike Frysinger <vapier@google.com>2020-02-18 19:01:45 -0500
committerDavid Pursehouse <dpursehouse@collab.net>2020-02-19 00:26:34 +0000
commit0258584c72940bfe3b21da86ff503001cec60d73 (patch)
tree019c6fecb9997400b85b980fa675c68a3479aec8 /docs/internal-fs-layout.md
parentc58ec4dba102d88fec67e833eb8421202eb4c1ea (diff)
downloadgit-repo-0258584c72940bfe3b21da86ff503001cec60d73.tar.gz
docs: add per-project review/remote/branch settings
Change-Id: Iae7dc438b4a145140b4e105a61024a11e30b2c2b Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/255792 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: David Pursehouse <dpursehouse@collab.net>
Diffstat (limited to 'docs/internal-fs-layout.md')
-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