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 = [] |