[Pkg-bazaar-commits] ./bzr/unstable r139: simplified/faster Inventory.add
mbp at sourcefrog.net
mbp at sourcefrog.net
Fri Apr 10 07:44:09 UTC 2009
------------------------------------------------------------
revno: 139
committer: mbp at sourcefrog.net
timestamp: Tue 2005-03-29 17:13:49 +1000
message:
simplified/faster Inventory.add
modified:
bzrlib/inventory.py
-------------- next part --------------
=== modified file 'bzrlib/inventory.py'
--- a/bzrlib/inventory.py 2005-03-29 06:58:11 +0000
+++ b/bzrlib/inventory.py 2005-03-29 07:13:49 +0000
@@ -335,21 +335,18 @@
To add a file to a branch ready to be committed, use Branch.add,
which calls this."""
- if entry.file_id in self:
+ if entry.file_id in self._byid:
bailout("inventory already contains entry with id {%s}" % entry.file_id)
- if entry.parent_id != None:
- if entry.parent_id not in self:
- bailout("parent_id %s of new entry not found in inventory"
- % entry.parent_id)
- # TODO: parent must be a directory
-
- if self[entry.parent_id].children.has_key(entry.name):
- bailout("%s is already versioned"
- % appendpath(self.id2path(entry.parent_id), entry.name))
+ parent = self._byid[entry.parent_id]
+ if parent.kind != 'directory':
+ bailout("attempt to add under non-directory {%s}" % parent.file_id)
+
+ if parent.children.has_key(entry.name):
+ bailout("{%s} already has child %r" % (parent.file_id, entry.name))
self._byid[entry.file_id] = entry
- self[entry.parent_id].children[entry.name] = entry
+ parent.children[entry.name] = entry
def add_path(self, relpath, kind, file_id=None):
More information about the Pkg-bazaar-commits
mailing list