diff options
Diffstat (limited to 'docs/manifest-format.md')
-rw-r--r-- | docs/manifest-format.md | 58 |
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. | |||
331 | Attribute `path`: If specified, limit the change to projects checked out | 338 | Attribute `path`: If specified, limit the change to projects checked out |
332 | at the specified path, rather than all projects with the given name. | 339 | at the specified path, rather than all projects with the given name. |
333 | 340 | ||
341 | Attribute `dest-path`: If specified, a path relative to the top directory | ||
342 | of the repo client where the Git working directory for this project | ||
343 | should be placed. This is used to move a project in the checkout by | ||
344 | overriding the existing `path` setting. | ||
345 | |||
334 | Attribute `groups`: List of additional groups to which this project | 346 | Attribute `groups`: List of additional groups to which this project |
335 | belongs. Same syntax as the corresponding element of `project`. | 347 | belongs. 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 | ||
345 | Zero or more annotation elements may be specified as children of a | 357 | Zero or more annotation elements may be specified as children of a |
346 | project element. Each element describes a name-value pair that will be | 358 | project or remote element. Each element describes a name-value pair. |
347 | exported into each project's environment during a 'forall' command, | 359 | For projects, this name-value pair will be exported into each project's |
348 | prefixed with REPO__. In addition, there is an optional attribute | 360 | environment during a 'forall' command, prefixed with `REPO__`. In addition, |
349 | "keep" which accepts the case insensitive values "true" (default) or | 361 | there 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 |
351 | be kept when exported with the manifest subcommand. | 363 | annotation 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 | |||
389 | the user can remove a project, and possibly replace it with their | 401 | the user can remove a project, and possibly replace it with their |
390 | own definition. | 402 | own definition. |
391 | 403 | ||
404 | Attribute `optional`: Set to true to ignore remove-project elements with no | ||
405 | matching `project` element. | ||
406 | |||
392 | ### Element repo-hooks | 407 | ### Element repo-hooks |
393 | 408 | ||
394 | NB: See the [practical documentation](./repo-hooks.md) for using repo hooks. | 409 | NB: 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 | ||
411 | NB: See the [git superprojects documentation]( | 426 | NB: See the [git superprojects documentation]( |
@@ -424,6 +439,24 @@ same meaning as project's name attribute. See the | |||
424 | Attribute `remote`: Name of a previously defined remote element. | 439 | Attribute `remote`: Name of a previously defined remote element. |
425 | If not supplied the remote given by the default element is used. | 440 | If not supplied the remote given by the default element is used. |
426 | 441 | ||
442 | Attribute `revision`: Name of the Git branch the manifest wants | ||
443 | to track for this superproject. If not supplied the revision given | ||
444 | by the remote element is used if applicable, else the default | ||
445 | element is used. | ||
446 | |||
447 | ### Element contactinfo | ||
448 | |||
449 | *** | ||
450 | *Note*: This is currently a WIP. | ||
451 | *** | ||
452 | |||
453 | This element is used to let manifest authors self-register contact info. | ||
454 | It has "bugurl" as a required atrribute. This element can be repeated, | ||
455 | and any later entries will clobber earlier ones. This would allow manifest | ||
456 | authors who extend manifests to specify their own contact info. | ||
457 | |||
458 | Attribute `bugurl`: The URL to file a bug against the manifest owner. | ||
459 | |||
427 | ### Element include | 460 | ### Element include |
428 | 461 | ||
429 | This element provides the capability of including another manifest | 462 | This element provides the capability of including another manifest |
@@ -468,6 +501,9 @@ these extra projects. | |||
468 | Manifest files stored in `$TOP_DIR/.repo/local_manifests/*.xml` will | 501 | Manifest files stored in `$TOP_DIR/.repo/local_manifests/*.xml` will |
469 | be loaded in alphabetical order. | 502 | be loaded in alphabetical order. |
470 | 503 | ||
504 | Projects from local manifest files are added into | ||
505 | local::<local manifest filename> group. | ||
506 | |||
471 | The legacy `$TOP_DIR/.repo/local_manifest.xml` path is no longer supported. | 507 | The legacy `$TOP_DIR/.repo/local_manifest.xml` path is no longer supported. |
472 | 508 | ||
473 | 509 | ||