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.md58
1 files changed, 47 insertions, 11 deletions
diff --git a/docs/manifest-format.md b/docs/manifest-format.md
index da83d0dd..8e0049b3 100644
--- a/docs/manifest-format.md
+++ b/docs/manifest-format.md
@@ -31,11 +31,12 @@ following DTD:
31 extend-project*, 31 extend-project*,
32 repo-hooks?, 32 repo-hooks?,
33 superproject?, 33 superproject?,
34 contactinfo?,
34 include*)> 35 include*)>
35 36
36 <!ELEMENT notice (#PCDATA)> 37 <!ELEMENT notice (#PCDATA)>
37 38
38 <!ELEMENT remote EMPTY> 39 <!ELEMENT remote (annotation*)>
39 <!ATTLIST remote name ID #REQUIRED> 40 <!ATTLIST remote name ID #REQUIRED>
40 <!ATTLIST remote alias CDATA #IMPLIED> 41 <!ATTLIST remote alias CDATA #IMPLIED>
41 <!ATTLIST remote fetch CDATA #REQUIRED> 42 <!ATTLIST remote fetch CDATA #REQUIRED>
@@ -89,20 +90,26 @@ following DTD:
89 <!ELEMENT extend-project EMPTY> 90 <!ELEMENT extend-project EMPTY>
90 <!ATTLIST extend-project name CDATA #REQUIRED> 91 <!ATTLIST extend-project name CDATA #REQUIRED>
91 <!ATTLIST extend-project path CDATA #IMPLIED> 92 <!ATTLIST extend-project path CDATA #IMPLIED>
93 <!ATTLIST extend-project dest-path CDATA #IMPLIED>
92 <!ATTLIST extend-project groups CDATA #IMPLIED> 94 <!ATTLIST extend-project groups CDATA #IMPLIED>
93 <!ATTLIST extend-project revision CDATA #IMPLIED> 95 <!ATTLIST extend-project revision CDATA #IMPLIED>
94 <!ATTLIST extend-project remote CDATA #IMPLIED> 96 <!ATTLIST extend-project remote CDATA #IMPLIED>
95 97
96 <!ELEMENT remove-project EMPTY> 98 <!ELEMENT remove-project EMPTY>
97 <!ATTLIST remove-project name CDATA #REQUIRED> 99 <!ATTLIST remove-project name CDATA #REQUIRED>
100 <!ATTLIST remove-project optional CDATA #IMPLIED>
98 101
99 <!ELEMENT repo-hooks EMPTY> 102 <!ELEMENT repo-hooks EMPTY>
100 <!ATTLIST repo-hooks in-project CDATA #REQUIRED> 103 <!ATTLIST repo-hooks in-project CDATA #REQUIRED>
101 <!ATTLIST repo-hooks enabled-list CDATA #REQUIRED> 104 <!ATTLIST repo-hooks enabled-list CDATA #REQUIRED>
102 105
103 <!ELEMENT superproject (EMPTY)> 106 <!ELEMENT superproject EMPTY>
104 <!ATTLIST superproject name CDATA #REQUIRED> 107 <!ATTLIST superproject name CDATA #REQUIRED>
105 <!ATTLIST superproject remote IDREF #IMPLIED> 108 <!ATTLIST superproject remote IDREF #IMPLIED>
109 <!ATTLIST superproject revision CDATA #IMPLIED>
110
111 <!ELEMENT contactinfo EMPTY>
112 <!ATTLIST contactinfo bugurl CDATA #REQUIRED>
106 113
107 <!ELEMENT include EMPTY> 114 <!ELEMENT include EMPTY>
108 <!ATTLIST include name CDATA #REQUIRED> 115 <!ATTLIST include name CDATA #REQUIRED>
@@ -331,6 +338,11 @@ against changes to the original manifest.
331Attribute `path`: If specified, limit the change to projects checked out 338Attribute `path`: If specified, limit the change to projects checked out
332at the specified path, rather than all projects with the given name. 339at the specified path, rather than all projects with the given name.
333 340
341Attribute `dest-path`: If specified, a path relative to the top directory
342of the repo client where the Git working directory for this project
343should be placed. This is used to move a project in the checkout by
344overriding the existing `path` setting.
345
334Attribute `groups`: List of additional groups to which this project 346Attribute `groups`: List of additional groups to which this project
335belongs. Same syntax as the corresponding element of `project`. 347belongs. Same syntax as the corresponding element of `project`.
336 348
@@ -343,12 +355,12 @@ project. Same syntax as the corresponding element of `project`.
343### Element annotation 355### Element annotation
344 356
345Zero or more annotation elements may be specified as children of a 357Zero or more annotation elements may be specified as children of a
346project element. Each element describes a name-value pair that will be 358project or remote element. Each element describes a name-value pair.
347exported into each project's environment during a 'forall' command, 359For projects, this name-value pair will be exported into each project's
348prefixed with REPO__. In addition, there is an optional attribute 360environment during a 'forall' command, prefixed with `REPO__`. In addition,
349"keep" which accepts the case insensitive values "true" (default) or 361there is an optional attribute "keep" which accepts the case insensitive values
350"false". This attribute determines whether or not the annotation will 362"true" (default) or "false". This attribute determines whether or not the
351be kept when exported with the manifest subcommand. 363annotation will be kept when exported with the manifest subcommand.
352 364
353### Element copyfile 365### Element copyfile
354 366
@@ -389,6 +401,9 @@ This element is mostly useful in a local manifest file, where
389the user can remove a project, and possibly replace it with their 401the user can remove a project, and possibly replace it with their
390own definition. 402own definition.
391 403
404Attribute `optional`: Set to true to ignore remove-project elements with no
405matching `project` element.
406
392### Element repo-hooks 407### Element repo-hooks
393 408
394NB: See the [practical documentation](./repo-hooks.md) for using repo hooks. 409NB: See the [practical documentation](./repo-hooks.md) for using repo hooks.
@@ -405,7 +420,7 @@ Attribute `enabled-list`: List of hooks to use, whitespace or comma separated.
405### Element superproject 420### Element superproject
406 421
407*** 422***
408 *Note*: This is currently a WIP. 423*Note*: This is currently a WIP.
409*** 424***
410 425
411NB: See the [git superprojects documentation]( 426NB: See the [git superprojects documentation](
@@ -424,6 +439,24 @@ same meaning as project's name attribute. See the
424Attribute `remote`: Name of a previously defined remote element. 439Attribute `remote`: Name of a previously defined remote element.
425If not supplied the remote given by the default element is used. 440If not supplied the remote given by the default element is used.
426 441
442Attribute `revision`: Name of the Git branch the manifest wants
443to track for this superproject. If not supplied the revision given
444by the remote element is used if applicable, else the default
445element is used.
446
447### Element contactinfo
448
449***
450*Note*: This is currently a WIP.
451***
452
453This element is used to let manifest authors self-register contact info.
454It has "bugurl" as a required atrribute. This element can be repeated,
455and any later entries will clobber earlier ones. This would allow manifest
456authors who extend manifests to specify their own contact info.
457
458Attribute `bugurl`: The URL to file a bug against the manifest owner.
459
427### Element include 460### Element include
428 461
429This element provides the capability of including another manifest 462This element provides the capability of including another manifest
@@ -468,6 +501,9 @@ these extra projects.
468Manifest files stored in `$TOP_DIR/.repo/local_manifests/*.xml` will 501Manifest files stored in `$TOP_DIR/.repo/local_manifests/*.xml` will
469be loaded in alphabetical order. 502be loaded in alphabetical order.
470 503
504Projects from local manifest files are added into
505local::<local manifest filename> group.
506
471The legacy `$TOP_DIR/.repo/local_manifest.xml` path is no longer supported. 507The legacy `$TOP_DIR/.repo/local_manifest.xml` path is no longer supported.
472 508
473 509