summaryrefslogtreecommitdiffstats
path: root/docs/manifest-format.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/manifest-format.md')
-rw-r--r--docs/manifest-format.md42
1 files changed, 14 insertions, 28 deletions
diff --git a/docs/manifest-format.md b/docs/manifest-format.md
index cf48698d..c85726bc 100644
--- a/docs/manifest-format.md
+++ b/docs/manifest-format.md
@@ -1,5 +1,4 @@
1repo Manifest Format 1# repo Manifest Format
2====================
3 2
4A repo manifest describes the structure of a repo client; that is 3A repo manifest describes the structure of a repo client; that is
5the directories that are visible and where they should be obtained 4the directories that are visible and where they should be obtained
@@ -15,8 +14,7 @@ obtained by clients during `repo sync`.
15[TOC] 14[TOC]
16 15
17 16
18XML File Format 17## XML File Format
19---------------
20 18
21A manifest XML file (e.g. `default.xml`) roughly conforms to the 19A manifest XML file (e.g. `default.xml`) roughly conforms to the
22following DTD: 20following DTD:
@@ -107,14 +105,12 @@ following DTD:
107A description of the elements and their attributes follows. 105A description of the elements and their attributes follows.
108 106
109 107
110Element manifest 108### Element manifest
111----------------
112 109
113The root element of the file. 110The root element of the file.
114 111
115 112
116Element remote 113### Element remote
117--------------
118 114
119One or more remote elements may be specified. Each remote element 115One or more remote elements may be specified. Each remote element
120specifies a Git URL shared by one or more projects and (optionally) 116specifies a Git URL shared by one or more projects and (optionally)
@@ -149,8 +145,7 @@ Attribute `revision`: Name of a Git branch (e.g. `master` or
149`refs/heads/master`). Remotes with their own revision will override 145`refs/heads/master`). Remotes with their own revision will override
150the default revision. 146the default revision.
151 147
152Element default 148### Element default
153---------------
154 149
155At most one default element may be specified. Its remote and 150At most one default element may be specified. Its remote and
156revision attributes are used when a project element does not 151revision attributes are used when a project element does not
@@ -188,8 +183,7 @@ branch (specified in the `revision` attribute) rather than
188the other ref tags. 183the other ref tags.
189 184
190 185
191Element manifest-server 186### Element manifest-server
192-----------------------
193 187
194At most one manifest-server may be specified. The url attribute 188At most one manifest-server may be specified. The url attribute
195is used to specify the URL of a manifest server, which is an 189is used to specify the URL of a manifest server, which is an
@@ -217,8 +211,7 @@ the specified tag. This is used by repo sync when the --smart-tag option
217is given. 211is given.
218 212
219 213
220Element project 214### Element project
221---------------
222 215
223One or more project elements may be specified. Each element 216One or more project elements may be specified. Each element
224describes a single Git repository to be cloned into the repo 217describes a single Git repository to be cloned into the repo
@@ -295,8 +288,7 @@ rather than the `name` attribute. This attribute only applies to the
295local mirrors syncing, it will be ignored when syncing the projects in a 288local mirrors syncing, it will be ignored when syncing the projects in a
296client working directory. 289client working directory.
297 290
298Element extend-project 291### Element extend-project
299----------------------
300 292
301Modify the attributes of the named project. 293Modify the attributes of the named project.
302 294
@@ -314,8 +306,7 @@ belongs. Same syntax as the corresponding element of `project`.
314Attribute `revision`: If specified, overrides the revision of the original 306Attribute `revision`: If specified, overrides the revision of the original
315project. Same syntax as the corresponding element of `project`. 307project. Same syntax as the corresponding element of `project`.
316 308
317Element annotation 309### Element annotation
318------------------
319 310
320Zero or more annotation elements may be specified as children of a 311Zero or more annotation elements may be specified as children of a
321project element. Each element describes a name-value pair that will be 312project element. Each element describes a name-value pair that will be
@@ -325,8 +316,7 @@ prefixed with REPO__. In addition, there is an optional attribute
325"false". This attribute determines whether or not the annotation will 316"false". This attribute determines whether or not the annotation will
326be kept when exported with the manifest subcommand. 317be kept when exported with the manifest subcommand.
327 318
328Element copyfile 319### Element copyfile
329----------------
330 320
331Zero or more copyfile elements may be specified as children of a 321Zero or more copyfile elements may be specified as children of a
332project element. Each element describes a src-dest pair of files; 322project element. Each element describes a src-dest pair of files;
@@ -334,14 +324,12 @@ the "src" file will be copied to the "dest" place during `repo sync`
334command. 324command.
335"src" is project relative, "dest" is relative to the top of the tree. 325"src" is project relative, "dest" is relative to the top of the tree.
336 326
337Element linkfile 327### Element linkfile
338----------------
339 328
340It's just like copyfile and runs at the same time as copyfile but 329It's just like copyfile and runs at the same time as copyfile but
341instead of copying it creates a symlink. 330instead of copying it creates a symlink.
342 331
343Element remove-project 332### Element remove-project
344----------------------
345 333
346Deletes the named project from the internal manifest table, possibly 334Deletes the named project from the internal manifest table, possibly
347allowing a subsequent project element in the same manifest file to 335allowing a subsequent project element in the same manifest file to
@@ -351,8 +339,7 @@ This element is mostly useful in a local manifest file, where
351the user can remove a project, and possibly replace it with their 339the user can remove a project, and possibly replace it with their
352own definition. 340own definition.
353 341
354Element include 342### Element include
355---------------
356 343
357This element provides the capability of including another manifest 344This element provides the capability of including another manifest
358file into the originating manifest. Normal rules apply for the 345file into the originating manifest. Normal rules apply for the
@@ -362,8 +349,7 @@ Attribute `name`: the manifest to include, specified relative to
362the manifest repository's root. 349the manifest repository's root.
363 350
364 351
365Local Manifests 352## Local Manifests
366===============
367 353
368Additional remotes and projects may be added through local manifest 354Additional remotes and projects may be added through local manifest
369files stored in `$TOP_DIR/.repo/local_manifests/*.xml`. 355files stored in `$TOP_DIR/.repo/local_manifests/*.xml`.