summaryrefslogtreecommitdiffstats
path: root/docs/manifest-format.md
diff options
context:
space:
mode:
authorRaman Tenneti <rtenneti@google.com>2021-01-07 16:50:45 -0800
committerRaman Tenneti <rtenneti@google.com>2021-01-08 19:49:52 +0000
commit1bb4fb222d831ed384d6fdef7402d36c19e91b2e (patch)
treeb915dfcb1352d29ce1fdd9b364d591be3e3ee289 /docs/manifest-format.md
parentb64bec6acc0e2a835f427d8424af89dfcddaf08f (diff)
downloadgit-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.md27
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
378Attribute `enabled-list`: List of hooks to use, whitespace or comma separated. 383Attribute `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
391NB: See the [git superprojects documentation](
392https://en.wikibooks.org/wiki/Git/Submodules_and_Superprojects) for background
393information.
394
395This 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
397reasonable defaults. At most one superproject may be specified.
398Attempting to redefine it will fail to parse.
399
400Attribute `name`: A unique name for the superproject. This attribute has the
401same meaning as project's name attribute. See the
402[element project](#element-project) for more information.
403
404Attribute `remote`: Name of a previously defined remote element.
405If not supplied the remote given by the default element is used.
406
380### Element include 407### Element include
381 408
382This element provides the capability of including another manifest 409This element provides the capability of including another manifest