summaryrefslogtreecommitdiffstats
path: root/manifest.py
diff options
context:
space:
mode:
authorShawn O. Pearce <sop@google.com>2008-11-20 11:42:22 -0800
committerShawn O. Pearce <sop@google.com>2008-11-20 11:54:46 -0800
commit03eaf07ec6aa7e99a0444ac1ec708b2a5f7cbbf5 (patch)
tree3de33686218f59849912004a4376402082384fff /manifest.py
parent2896a79120fe1de65472736f756c47b558b44db1 (diff)
downloadgit-repo-03eaf07ec6aa7e99a0444ac1ec708b2a5f7cbbf5.tar.gz
Support <remove-project name="X"> in manifest to remove/replace Xv1.4
The manifest files now permit removing a project so the user can either keep it out of their client, or replace it with a different project using an entirely different configuration. Signed-off-by: Shawn O. Pearce <sop@google.com>
Diffstat (limited to 'manifest.py')
-rw-r--r--manifest.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/manifest.py b/manifest.py
index 9137371f..32a7e513 100644
--- a/manifest.py
+++ b/manifest.py
@@ -138,6 +138,16 @@ class Manifest(object):
138 self.manifestFile 138 self.manifestFile
139 139
140 for node in config.childNodes: 140 for node in config.childNodes:
141 if node.nodeName == 'remove-project':
142 name = self._reqatt(node, 'name')
143 try:
144 del self._projects[name]
145 except KeyError:
146 raise ManifestParseError, \
147 'project %s not found' % \
148 (name)
149
150 for node in config.childNodes:
141 if node.nodeName == 'remote': 151 if node.nodeName == 'remote':
142 remote = self._ParseRemote(node) 152 remote = self._ParseRemote(node)
143 if self._remotes.get(remote.name): 153 if self._remotes.get(remote.name):