Merge branch 'stable'
* stable: (33 commits)
Added feature to print a <notice> from manifest at the end of a sync.
sync: Use --force-broken to continue other projects
upload: Remove --replace option
sync --quiet: be more quiet
sync: Enable use of git clone --reference
Only delete corrupt pickle config files if they exist
Don't allow git fetch to start ControlMaster
Check for existing SSH ControlMaster
Fix for handling values of EDITOR which contain a space.
upload: Fix --replace flag
rebase: Pass through more options
upload: Allow review.HOST.username to override email
upload -t: Automatically include local branch name
Warn users before uploading if there are local changes
sync: Try fetching a tag as a last resort before giving up
rebase: Automatically rebase branch on upstrea
upload: Automatically --cc folks in review.URL.autocopy
Fix format string bugs in grep
Do not invoke ssh with -p argument when no port has been specified.
Allow files to be copied into new folders
...
Conflicts:
git_config.py
manifest_xml.py
subcmds/init.py
subcmds/sync.py
subcmds/upload.py
Change-Id: I4756a6908277e91505c35287a122a775b68f4df5
diff --git a/docs/manifest_submodule.txt b/docs/manifest_submodule.txt
index e7d1f64..1718284 100644
--- a/docs/manifest_submodule.txt
+++ b/docs/manifest_submodule.txt
@@ -76,6 +76,12 @@
This key is not supported by repo. If set, it will be ignored.
+repo.notice
+-----------
+
+A message displayed when repo sync uses this manifest.
+
+
.review
=======
diff --git a/docs/manifest_xml.txt b/docs/manifest_xml.txt
index da0e69f..37fbd5c 100644
--- a/docs/manifest_xml.txt
+++ b/docs/manifest_xml.txt
@@ -20,11 +20,15 @@
following DTD:
<!DOCTYPE manifest [
- <!ELEMENT manifest (remote*,
+ <!ELEMENT manifest (notice?,
+ remote*,
default?,
+ manifest-server?,
remove-project*,
project*)>
+ <!ELEMENT notice (#PCDATA)>
+
<!ELEMENT remote (EMPTY)>
<!ATTLIST remote name ID #REQUIRED>
<!ATTLIST remote fetch CDATA #REQUIRED>
@@ -34,6 +38,9 @@
<!ATTLIST default remote IDREF #IMPLIED>
<!ATTLIST default revision CDATA #IMPLIED>
+ <!ELEMENT manifest-server (EMPTY)>
+ <!ATTLIST url CDATA #REQUIRED>
+
<!ELEMENT project (EMPTY)>
<!ATTLIST project name CDATA #REQUIRED>
<!ATTLIST project path CDATA #IMPLIED>
@@ -89,6 +96,27 @@
revision attribute will use this revision.
+Element manifest-server
+-----------------------
+
+At most one manifest-server may be specified. The url attribute
+is used to specify the URL of a manifest server, which is an
+XML RPC service that will return a manifest in which each project
+is pegged to a known good revision for the current branch and
+target.
+
+The manifest server should implement:
+
+ GetApprovedManifest(branch, target)
+
+The target to use is defined by environment variables TARGET_PRODUCT
+and TARGET_BUILD_VARIANT. These variables are used to create a string
+of the form $TARGET_PRODUCT-$TARGET_BUILD_VARIANT, e.g. passion-userdebug.
+If one of those variables or both are not present, the program will call
+GetApprovedManifest without the target paramater and the manifest server
+should choose a reasonable default target.
+
+
Element project
---------------