diff options
| -rw-r--r-- | docs/manifest-format.txt | 13 | ||||
| -rw-r--r-- | manifest.py | 9 | ||||
| -rw-r--r-- | project.py | 4 | ||||
| -rw-r--r-- | remote.py | 6 |
4 files changed, 26 insertions, 6 deletions
diff --git a/docs/manifest-format.txt b/docs/manifest-format.txt index 409524bb..2b49d466 100644 --- a/docs/manifest-format.txt +++ b/docs/manifest-format.txt | |||
| @@ -23,9 +23,10 @@ following DTD: | |||
| 23 | <!ELEMENT manifest (remote*, default?, project*)> | 23 | <!ELEMENT manifest (remote*, default?, project*)> |
| 24 | 24 | ||
| 25 | <!ELEMENT remote (EMPTY)> | 25 | <!ELEMENT remote (EMPTY)> |
| 26 | <!ATTLIST remote name ID #REQUIRED> | 26 | <!ATTLIST remote name ID #REQUIRED> |
| 27 | <!ATTLIST remote fetch CDATA #REQUIRED> | 27 | <!ATTLIST remote fetch CDATA #REQUIRED> |
| 28 | <!ATTLIST remote review CDATA #IMPLIED> | 28 | <!ATTLIST remote review CDATA #IMPLIED> |
| 29 | <!ATTLIST remote project-name CDATA #IMPLIED> | ||
| 29 | 30 | ||
| 30 | <!ELEMENT default (EMPTY)> | 31 | <!ELEMENT default (EMPTY)> |
| 31 | <!ATTLIST default remote IDREF #IMPLIED> | 32 | <!ATTLIST default remote IDREF #IMPLIED> |
| @@ -67,6 +68,12 @@ Attribute `review`: Hostname of the Gerrit server where reviews | |||
| 67 | are uploaded to by `repo upload`. This attribute is optional; | 68 | are uploaded to by `repo upload`. This attribute is optional; |
| 68 | if not specified then `repo upload` will not function. | 69 | if not specified then `repo upload` will not function. |
| 69 | 70 | ||
| 71 | Attribute `project-name`: Specifies the name of this project used | ||
| 72 | by the review server given in the review attribute of this element. | ||
| 73 | Only permitted when the remote element is nested inside of a project | ||
| 74 | element (see below). If not given, defaults to the name supplied | ||
| 75 | in the project's name attribute. | ||
| 76 | |||
| 70 | 77 | ||
| 71 | Element default | 78 | Element default |
| 72 | --------------- | 79 | --------------- |
diff --git a/manifest.py b/manifest.py index ea68b682..65455687 100644 --- a/manifest.py +++ b/manifest.py | |||
| @@ -206,10 +206,17 @@ class Manifest(object): | |||
| 206 | name = self._reqatt(node, 'name') | 206 | name = self._reqatt(node, 'name') |
| 207 | fetch = self._reqatt(node, 'fetch') | 207 | fetch = self._reqatt(node, 'fetch') |
| 208 | review = node.getAttribute('review') | 208 | review = node.getAttribute('review') |
| 209 | if review == '': | ||
| 210 | review = None | ||
| 211 | |||
| 212 | projectName = node.getAttribute('project-name') | ||
| 213 | if projectName == '': | ||
| 214 | projectName = None | ||
| 209 | 215 | ||
| 210 | r = Remote(name=name, | 216 | r = Remote(name=name, |
| 211 | fetch=fetch, | 217 | fetch=fetch, |
| 212 | review=review) | 218 | review=review, |
| 219 | projectName=projectName) | ||
| 213 | 220 | ||
| 214 | for n in node.childNodes: | 221 | for n in node.childNodes: |
| 215 | if n.nodeName == 'require': | 222 | if n.nodeName == 'require': |
| @@ -904,7 +904,9 @@ class Project(object): | |||
| 904 | remote = self.GetRemote(r.name) | 904 | remote = self.GetRemote(r.name) |
| 905 | remote.url = r.fetchUrl | 905 | remote.url = r.fetchUrl |
| 906 | remote.review = r.reviewUrl | 906 | remote.review = r.reviewUrl |
| 907 | if remote.projectname is None: | 907 | if r.projectName: |
| 908 | remote.projectname = r.projectName | ||
| 909 | elif remote.projectname is None: | ||
| 908 | remote.projectname = self.name | 910 | remote.projectname = self.name |
| 909 | remote.ResetFetch() | 911 | remote.ResetFetch() |
| 910 | remote.Save() | 912 | remote.Save() |
| @@ -14,8 +14,12 @@ | |||
| 14 | # limitations under the License. | 14 | # limitations under the License. |
| 15 | 15 | ||
| 16 | class Remote(object): | 16 | class Remote(object): |
| 17 | def __init__(self, name, fetch=None, review=None): | 17 | def __init__(self, name, |
| 18 | fetch=None, | ||
| 19 | review=None, | ||
| 20 | projectName=None): | ||
| 18 | self.name = name | 21 | self.name = name |
| 19 | self.fetchUrl = fetch | 22 | self.fetchUrl = fetch |
| 20 | self.reviewUrl = review | 23 | self.reviewUrl = review |
| 24 | self.projectName = projectName | ||
| 21 | self.requiredCommits = [] | 25 | self.requiredCommits = [] |
