summaryrefslogtreecommitdiffstats
path: root/docs/manifest-format.txt
diff options
context:
space:
mode:
authorJosh Triplett <josh@joshtriplett.org>2014-06-12 14:57:29 -0700
committerJosh Triplett <josh@joshtriplett.org>2014-06-20 11:35:16 -0700
commit884a387ecae6ce0aa3739771eecfcc0cd376cf61 (patch)
treee2609db54ba18770932c3053152f7aaeb397b1ec /docs/manifest-format.txt
parente9f75b1782dbf6ce9a8f22256316dbb66cdbab11 (diff)
downloadgit-repo-884a387ecae6ce0aa3739771eecfcc0cd376cf61.tar.gz
Add extend-project tag to support adding groups to an existing project
Currently, if a local manifest wants to add groups to an existing project, it must use remove-project and then re-add the project with the new groups. This makes the local manifest more fragile, requiring updates to the local manifest if the original manifest changes. Add a new extend-project tag, which supports adding groups to an existing project. Change-Id: Ib4d1352efd722a65dd263d02644b9ea5ab6ed400
Diffstat (limited to 'docs/manifest-format.txt')
-rw-r--r--docs/manifest-format.txt22
1 files changed, 22 insertions, 0 deletions
diff --git a/docs/manifest-format.txt b/docs/manifest-format.txt
index f187bfaf..65cd70bc 100644
--- a/docs/manifest-format.txt
+++ b/docs/manifest-format.txt
@@ -26,6 +26,7 @@ following DTD:
26 manifest-server?, 26 manifest-server?,
27 remove-project*, 27 remove-project*,
28 project*, 28 project*,
29 extend-project*,
29 repo-hooks?)> 30 repo-hooks?)>
30 31
31 <!ELEMENT notice (#PCDATA)> 32 <!ELEMENT notice (#PCDATA)>
@@ -67,6 +68,11 @@ following DTD:
67 <!ATTLIST annotation value CDATA #REQUIRED> 68 <!ATTLIST annotation value CDATA #REQUIRED>
68 <!ATTLIST annotation keep CDATA "true"> 69 <!ATTLIST annotation keep CDATA "true">
69 70
71 <!ELEMENT extend-project>
72 <!ATTLIST extend-project name CDATA #REQUIRED>
73 <!ATTLIST extend-project path CDATA #IMPLIED>
74 <!ATTLIST extend-project groups CDATA #IMPLIED>
75
70 <!ELEMENT remove-project (EMPTY)> 76 <!ELEMENT remove-project (EMPTY)>
71 <!ATTLIST remove-project name CDATA #REQUIRED> 77 <!ATTLIST remove-project name CDATA #REQUIRED>
72 78
@@ -252,6 +258,22 @@ rather than the `name` attribute. This attribute only applies to the
252local mirrors syncing, it will be ignored when syncing the projects in a 258local mirrors syncing, it will be ignored when syncing the projects in a
253client working directory. 259client working directory.
254 260
261Element extend-project
262----------------------
263
264Modify the attributes of the named project.
265
266This element is mostly useful in a local manifest file, to modify the
267attributes of an existing project without completely replacing the
268existing project definition. This makes the local manifest more robust
269against changes to the original manifest.
270
271Attribute `path`: If specified, limit the change to projects checked out
272at the specified path, rather than all projects with the given name.
273
274Attribute `groups`: List of additional groups to which this project
275belongs. Same syntax as the corresponding element of `project`.
276
255Element annotation 277Element annotation
256------------------ 278------------------
257 279