summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--manifest_xml.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/manifest_xml.py b/manifest_xml.py
index c5f3bcc9..f2ac77a5 100644
--- a/manifest_xml.py
+++ b/manifest_xml.py
@@ -519,12 +519,15 @@ class XmlManifest(object):
519 self._repo_hooks_project.enabled_repo_hooks = enabled_repo_hooks 519 self._repo_hooks_project.enabled_repo_hooks = enabled_repo_hooks
520 if node.nodeName == 'remove-project': 520 if node.nodeName == 'remove-project':
521 name = self._reqatt(node, 'name') 521 name = self._reqatt(node, 'name')
522 try: 522
523 del self._projects[name] 523 if name not in self._projects:
524 except KeyError:
525 raise ManifestParseError('remove-project element specifies non-existent ' 524 raise ManifestParseError('remove-project element specifies non-existent '
526 'project: %s' % name) 525 'project: %s' % name)
527 526
527 for p in self._projects[name]:
528 del self._paths[p.relpath]
529 del self._projects[name]
530
528 # If the manifest removes the hooks project, treat it as if it deleted 531 # If the manifest removes the hooks project, treat it as if it deleted
529 # the repo-hooks element too. 532 # the repo-hooks element too.
530 if self._repo_hooks_project and (self._repo_hooks_project.name == name): 533 if self._repo_hooks_project and (self._repo_hooks_project.name == name):