diff options
author | Shawn O. Pearce <sop@google.com> | 2008-11-20 11:42:22 -0800 |
---|---|---|
committer | Shawn O. Pearce <sop@google.com> | 2008-11-20 11:54:46 -0800 |
commit | 03eaf07ec6aa7e99a0444ac1ec708b2a5f7cbbf5 (patch) | |
tree | 3de33686218f59849912004a4376402082384fff /manifest.py | |
parent | 2896a79120fe1de65472736f756c47b558b44db1 (diff) | |
download | git-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.py | 10 |
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): |