diff --git a/docs/manifest-format.md b/docs/manifest-format.md index a39f97e..b439dcb 100644 --- a/docs/manifest-format.md +++ b/docs/manifest-format.md @@ -89,6 +89,7 @@ following DTD: + @@ -306,6 +307,9 @@ belongs. Same syntax as the corresponding element of `project`. Attribute `revision`: If specified, overrides the revision of the original project. Same syntax as the corresponding element of `project`. +Attribute `remote`: If specified, overrides the remote of the original +project. Same syntax as the corresponding element of `project`. + ### Element annotation Zero or more annotation elements may be specified as children of a diff --git a/manifest_xml.py b/manifest_xml.py index 4f7bd49..035cc61 100644 --- a/manifest_xml.py +++ b/manifest_xml.py @@ -599,6 +599,9 @@ class XmlManifest(object): if groups: groups = self._ParseGroups(groups) revision = node.getAttribute('revision') + remote = node.getAttribute('remote') + if remote: + remote = self._get_remote(node) for p in self._projects[name]: if path and p.relpath != path: @@ -607,6 +610,8 @@ class XmlManifest(object): p.groups.extend(groups) if revision: p.revisionExpr = revision + if remote: + p.remote = remote.ToRemoteSpec(name) if node.nodeName == 'repo-hooks': # Get the name of the project and the (space-separated) list of enabled. repo_hooks_project = self._reqatt(node, 'in-project')