summaryrefslogtreecommitdiffstats
path: root/manifest.py
diff options
context:
space:
mode:
Diffstat (limited to 'manifest.py')
-rw-r--r--manifest.py27
1 files changed, 20 insertions, 7 deletions
diff --git a/manifest.py b/manifest.py
index 65455687..2ac1453a 100644
--- a/manifest.py
+++ b/manifest.py
@@ -165,6 +165,16 @@ class Manifest(object):
165 (project.name, self.manifestFile) 165 (project.name, self.manifestFile)
166 self._projects[project.name] = project 166 self._projects[project.name] = project
167 167
168 for node in config.childNodes:
169 if node.nodeName == 'add-remote':
170 pn = self._reqatt(node, 'to-project')
171 project = self._projects.get(pn)
172 if not project:
173 raise ManifestParseError, \
174 'project %s not defined in %s' % \
175 (pn, self.manifestFile)
176 self._ParseProjectExtraRemote(project, node)
177
168 def _AddMetaProjectMirror(self, m): 178 def _AddMetaProjectMirror(self, m):
169 name = None 179 name = None
170 m_url = m.GetRemote(m.remote.name).url 180 m_url = m.GetRemote(m.remote.name).url
@@ -281,18 +291,21 @@ class Manifest(object):
281 291
282 for n in node.childNodes: 292 for n in node.childNodes:
283 if n.nodeName == 'remote': 293 if n.nodeName == 'remote':
284 r = self._ParseRemote(n) 294 self._ParseProjectExtraRemote(project, n)
285 if project.extraRemotes.get(r.name) \
286 or project.remote.name == r.name:
287 raise ManifestParseError, \
288 'duplicate remote %s in project %s in %s' % \
289 (r.name, project.name, self.manifestFile)
290 project.extraRemotes[r.name] = r
291 elif n.nodeName == 'copyfile': 295 elif n.nodeName == 'copyfile':
292 self._ParseCopyFile(project, n) 296 self._ParseCopyFile(project, n)
293 297
294 return project 298 return project
295 299
300 def _ParseProjectExtraRemote(self, project, n):
301 r = self._ParseRemote(n)
302 if project.extraRemotes.get(r.name) \
303 or project.remote.name == r.name:
304 raise ManifestParseError, \
305 'duplicate remote %s in project %s in %s' % \
306 (r.name, project.name, self.manifestFile)
307 project.extraRemotes[r.name] = r
308
296 def _ParseCopyFile(self, project, node): 309 def _ParseCopyFile(self, project, node):
297 src = self._reqatt(node, 'src') 310 src = self._reqatt(node, 'src')
298 dest = self._reqatt(node, 'dest') 311 dest = self._reqatt(node, 'dest')