summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorNico Sallembien <nsallembien@google.com>2010-04-06 10:40:01 -0700
committerNico Sallembien <nsallembien@google.com>2010-04-13 10:20:37 -0700
commita1bfd2cd7253b1662e08f5ec5be3d863430c756c (patch)
tree48cf4d0a983e37b50220cecc043793d6a5f0c319 /docs
parent6d7508b3d52781a3f8170a4257c65e2de176cc68 (diff)
downloadgit-repo-a1bfd2cd7253b1662e08f5ec5be3d863430c756c.tar.gz
Add a 'smart sync' option to repo syncv1.6.9.2
This option allows the user to specify a manifest server to use when syncing. This manifest server will provide a manifest pegging each project to a known green build. This allows developers to work on a known good tree that is known to build and pass tests, preventing failed builds to hamper productivity. The manifest used is not "sticky" so as to allow subsequent 'repo sync' calls to sync to the tip of the tree. Change-Id: Id0a24ece20f5a88034ad364b416a1dd2e394226d
Diffstat (limited to 'docs')
-rw-r--r--docs/manifest-format.txt25
1 files changed, 25 insertions, 0 deletions
diff --git a/docs/manifest-format.txt b/docs/manifest-format.txt
index da0e69ff..211344ee 100644
--- a/docs/manifest-format.txt
+++ b/docs/manifest-format.txt
@@ -22,6 +22,7 @@ following DTD:
22 <!DOCTYPE manifest [ 22 <!DOCTYPE manifest [
23 <!ELEMENT manifest (remote*, 23 <!ELEMENT manifest (remote*,
24 default?, 24 default?,
25 manifest-server?,
25 remove-project*, 26 remove-project*,
26 project*)> 27 project*)>
27 28
@@ -33,6 +34,9 @@ following DTD:
33 <!ELEMENT default (EMPTY)> 34 <!ELEMENT default (EMPTY)>
34 <!ATTLIST default remote IDREF #IMPLIED> 35 <!ATTLIST default remote IDREF #IMPLIED>
35 <!ATTLIST default revision CDATA #IMPLIED> 36 <!ATTLIST default revision CDATA #IMPLIED>
37
38 <!ELEMENT manifest-server (EMPTY)>
39 <!ATTLIST url CDATA #REQUIRED>
36 40
37 <!ELEMENT project (EMPTY)> 41 <!ELEMENT project (EMPTY)>
38 <!ATTLIST project name CDATA #REQUIRED> 42 <!ATTLIST project name CDATA #REQUIRED>
@@ -89,6 +93,27 @@ Attribute `revision`: Name of a Git branch (e.g. `master` or
89revision attribute will use this revision. 93revision attribute will use this revision.
90 94
91 95
96Element manifest-server
97-----------------------
98
99At most one manifest-server may be specified. The url attribute
100is used to specify the URL of a manifest server, which is an
101XML RPC service that will return a manifest in which each project
102is pegged to a known good revision for the current branch and
103target.
104
105The manifest server should implement:
106
107 GetApprovedManifest(branch, target)
108
109The target to use is defined by environment variables TARGET_PRODUCT
110and TARGET_BUILD_VARIANT. These variables are used to create a string
111of the form $TARGET_PRODUCT-$TARGET_BUILD_VARIANT, e.g. passion-userdebug.
112If one of those variables or both are not present, the program will call
113GetApprovedManifest without the target paramater and the manifest server
114should choose a reasonable default target.
115
116
92Element project 117Element project
93--------------- 118---------------
94 119