summaryrefslogtreecommitdiff
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
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.md27
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