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 git-repo-1bb4fb222d831ed384d6fdef7402d36c19e91b2e.zip | |
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 ca385ba33..8e5e28749 100644 --- a/docs/manifest-format.md +++ b/docs/manifest-format.md @@ -29,6 +29,7 @@ following DTD: project*, extend-project*, repo-hooks?, + superproject?, include*)> <!ELEMENT notice (#PCDATA)> @@ -98,6 +99,10 @@ following DTD: <!ATTLIST repo-hooks in-project CDATA #REQUIRED> <!ATTLIST repo-hooks enabled-list CDATA #REQUIRED> + <!ELEMENT superproject (EMPTY)> + <!ATTLIST superproject name CDATA #REQUIRED> + <!ATTLIST superproject remote IDREF #IMPLIED> + <!ELEMENT include EMPTY> <!ATTLIST include name CDATA #REQUIRED> <!ATTLIST include groups CDATA #IMPLIED> @@ -377,6 +382,28 @@ defined `project` element. Attribute `enabled-list`: List of hooks to use, whitespace or comma separated. +### Element superproject + +*** + *Note*: This is currently a WIP. +*** + +NB: See the [git superprojects documentation]( +https://en.wikibooks.org/wiki/Git/Submodules_and_Superprojects) for background +information. + +This element is used to specify the URL of the superproject. It has "name" and +"remote" as atrributes. Only "name" is required while the others have +reasonable defaults. At most one superproject may be specified. +Attempting to redefine it will fail to parse. + +Attribute `name`: A unique name for the superproject. This attribute has the +same meaning as project's name attribute. See the +[element project](#element-project) for more information. + +Attribute `remote`: Name of a previously defined remote element. +If not supplied the remote given by the default element is used. + ### Element include This element provides the capability of including another manifest |
