diff options
author | Raman Tenneti <rtenneti@google.com> | 2021-01-07 16:50:45 -0800 |
---|---|---|
committer | Raman Tenneti <rtenneti@google.com> | 2021-01-08 19:49:52 +0000 |
commit | 1bb4fb222d831ed384d6fdef7402d36c19e91b2e (patch) | |
tree | b915dfcb1352d29ce1fdd9b364d591be3e3ee289 /docs/manifest-format.md | |
parent | b64bec6acc0e2a835f427d8424af89dfcddaf08f (diff) | |
download | git-repo-1bb4fb222d831ed384d6fdef7402d36c19e91b2e.tar.gz |
manifest_xml: initial support for <superproject>
At most one superproject may be specified. It will be used
to specify the URL of superproject.
It would have 3 attributes: remote, name, and default.
Only "name" is required while the others have reasonable defaults.
<remote name="superproject-url" review="<url>" />
<superproject remote="superproject-url" name="platform/superproject"/>
TODO: This CL only implements the parsing logic and further work
will be in followup CLs.
Tested the code with the following commands.
$ ./run_tests tests/test_manifest_xml.py
$ ./run_tests -v
Bug: https://crbug.com/gerrit/13709
Tested-by: Raman Tenneti <rtenneti@google.com>
Change-Id: I5b4bba02c8b59601c754cf6b5e4d07a1e16ce167
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/292982
Reviewed-by: Mike Frysinger <vapier@google.com>
Diffstat (limited to 'docs/manifest-format.md')
-rw-r--r-- | docs/manifest-format.md | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/docs/manifest-format.md b/docs/manifest-format.md index ca385ba3..8e5e2874 100644 --- a/docs/manifest-format.md +++ b/docs/manifest-format.md | |||
@@ -29,6 +29,7 @@ following DTD: | |||
29 | project*, | 29 | project*, |
30 | extend-project*, | 30 | extend-project*, |
31 | repo-hooks?, | 31 | repo-hooks?, |
32 | superproject?, | ||
32 | include*)> | 33 | include*)> |
33 | 34 | ||
34 | <!ELEMENT notice (#PCDATA)> | 35 | <!ELEMENT notice (#PCDATA)> |
@@ -98,6 +99,10 @@ following DTD: | |||
98 | <!ATTLIST repo-hooks in-project CDATA #REQUIRED> | 99 | <!ATTLIST repo-hooks in-project CDATA #REQUIRED> |
99 | <!ATTLIST repo-hooks enabled-list CDATA #REQUIRED> | 100 | <!ATTLIST repo-hooks enabled-list CDATA #REQUIRED> |
100 | 101 | ||
102 | <!ELEMENT superproject (EMPTY)> | ||
103 | <!ATTLIST superproject name CDATA #REQUIRED> | ||
104 | <!ATTLIST superproject remote IDREF #IMPLIED> | ||
105 | |||
101 | <!ELEMENT include EMPTY> | 106 | <!ELEMENT include EMPTY> |
102 | <!ATTLIST include name CDATA #REQUIRED> | 107 | <!ATTLIST include name CDATA #REQUIRED> |
103 | <!ATTLIST include groups CDATA #IMPLIED> | 108 | <!ATTLIST include groups CDATA #IMPLIED> |
@@ -377,6 +382,28 @@ defined `project` element. | |||
377 | 382 | ||
378 | Attribute `enabled-list`: List of hooks to use, whitespace or comma separated. | 383 | Attribute `enabled-list`: List of hooks to use, whitespace or comma separated. |
379 | 384 | ||
385 | ### Element superproject | ||
386 | |||
387 | *** | ||
388 | *Note*: This is currently a WIP. | ||
389 | *** | ||
390 | |||
391 | NB: See the [git superprojects documentation]( | ||
392 | https://en.wikibooks.org/wiki/Git/Submodules_and_Superprojects) for background | ||
393 | information. | ||
394 | |||
395 | This element is used to specify the URL of the superproject. It has "name" and | ||
396 | "remote" as atrributes. Only "name" is required while the others have | ||
397 | reasonable defaults. At most one superproject may be specified. | ||
398 | Attempting to redefine it will fail to parse. | ||
399 | |||
400 | Attribute `name`: A unique name for the superproject. This attribute has the | ||
401 | same meaning as project's name attribute. See the | ||
402 | [element project](#element-project) for more information. | ||
403 | |||
404 | Attribute `remote`: Name of a previously defined remote element. | ||
405 | If not supplied the remote given by the default element is used. | ||
406 | |||
380 | ### Element include | 407 | ### Element include |
381 | 408 | ||
382 | This element provides the capability of including another manifest | 409 | This element provides the capability of including another manifest |