Rev 6343: (jelmer) Remove the HistoryMissing exception. (Jelmer Vernooij) in file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/
Patch Queue Manager
pqm at pqm.ubuntu.com
Mon Dec 5 11:58:57 UTC 2011
At file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 6343 [merge]
revision-id: pqm at pqm.ubuntu.com-20111205115857-eakx9wlixnx2wpwz
parent: pqm at pqm.ubuntu.com-20111205113259-ias55e1z6dsn2ksp
parent: jelmer at samba.org-20111203033010-4w7u2f3yszybvatx
committer: Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Mon 2011-12-05 11:58:57 +0000
message:
(jelmer) Remove the HistoryMissing exception. (Jelmer Vernooij)
modified:
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/repofmt/groupcompress_repo.py repofmt.py-20080715094215-wp1qfvoo7093c8qr-1
bzrlib/vf_repository.py vf_repository.py-20110502151858-yh9nnoxpokg86unk-1
doc/en/release-notes/bzr-2.5.txt bzr2.5.txt-20110708125756-587p0hpw7oke4h05-1
=== modified file 'bzrlib/errors.py'
--- a/bzrlib/errors.py 2011-11-28 17:43:51 +0000
+++ b/bzrlib/errors.py 2011-12-03 03:30:10 +0000
@@ -1155,11 +1155,6 @@
self.extra = ''
-class HistoryMissing(BzrError):
-
- _fmt = "%(branch)s is missing %(object_type)s {%(object_id)s}"
-
-
class AppendRevisionsOnlyViolation(BzrError):
_fmt = ('Operation denied because it would change the main history,'
=== modified file 'bzrlib/repofmt/groupcompress_repo.py'
--- a/bzrlib/repofmt/groupcompress_repo.py 2011-05-09 12:01:12 +0000
+++ b/bzrlib/repofmt/groupcompress_repo.py 2011-12-03 03:30:10 +0000
@@ -978,20 +978,24 @@
if record.storage_kind != 'absent':
texts[record.key] = record.get_bytes_as('fulltext')
else:
- raise errors.NoSuchRevision(self, record.key)
+ texts[record.key] = None
for key in keys:
- yield inventory.CHKInventory.deserialise(self.chk_bytes, texts[key], key)
+ bytes = texts[key]
+ if bytes is None:
+ yield (None, key[-1])
+ else:
+ yield (inventory.CHKInventory.deserialise(
+ self.chk_bytes, bytes, key), key[-1])
- def _iter_inventory_xmls(self, revision_ids, ordering):
+ def _get_inventory_xml(self, revision_id):
+ """Get serialized inventory as a string."""
# Without a native 'xml' inventory, this method doesn't make sense.
# However older working trees, and older bundles want it - so we supply
# it allowing _get_inventory_xml to work. Bundles currently use the
# serializer directly; this also isn't ideal, but there isn't an xml
- # iteration interface offered at all for repositories. We could make
- # _iter_inventory_xmls be part of the contract, even if kept private.
- inv_to_str = self._serializer.write_inventory_to_string
- for inv in self.iter_inventories(revision_ids, ordering=ordering):
- yield inv_to_str(inv), inv.revision_id
+ # iteration interface offered at all for repositories.
+ return self._serializer.write_inventory_to_string(
+ self.get_inventory(revision_id))
def _find_present_inventory_keys(self, revision_keys):
parent_map = self.inventories.get_parent_map(revision_keys)
=== modified file 'bzrlib/vf_repository.py'
--- a/bzrlib/vf_repository.py 2011-11-20 02:16:25 +0000
+++ b/bzrlib/vf_repository.py 2011-12-03 03:30:10 +0000
@@ -1700,13 +1700,19 @@
if ((None in revision_ids)
or (_mod_revision.NULL_REVISION in revision_ids)):
raise ValueError('cannot get null revision inventory')
- return self._iter_inventories(revision_ids, ordering)
+ for inv, revid in self._iter_inventories(revision_ids, ordering):
+ if inv is None:
+ raise errors.NoSuchRevision(self, revid)
+ yield inv
def _iter_inventories(self, revision_ids, ordering):
"""single-document based inventory iteration."""
inv_xmls = self._iter_inventory_xmls(revision_ids, ordering)
for text, revision_id in inv_xmls:
- yield self._deserialise_inventory(revision_id, text)
+ if text is None:
+ yield None, revision_id
+ else:
+ yield self._deserialise_inventory(revision_id, text), revision_id
def _iter_inventory_xmls(self, revision_ids, ordering):
if ordering is None:
@@ -1730,7 +1736,7 @@
else:
yield ''.join(chunks), record.key[-1]
else:
- raise errors.NoSuchRevision(self, record.key)
+ yield None, record.key[-1]
if order_as_requested:
# Yield as many results as we can while preserving order.
while next_key in text_chunks:
@@ -1765,10 +1771,9 @@
def _get_inventory_xml(self, revision_id):
"""Get serialized inventory as a string."""
texts = self._iter_inventory_xmls([revision_id], 'unordered')
- try:
- text, revision_id = texts.next()
- except StopIteration:
- raise errors.HistoryMissing(self, 'inventory', revision_id)
+ text, revision_id = texts.next()
+ if text is None:
+ raise errors.NoSuchRevision(self, revision_id)
return text
@needs_read_lock
=== modified file 'doc/en/release-notes/bzr-2.5.txt'
--- a/doc/en/release-notes/bzr-2.5.txt 2011-12-02 12:35:10 +0000
+++ b/doc/en/release-notes/bzr-2.5.txt 2011-12-03 03:30:10 +0000
@@ -151,6 +151,9 @@
* Some global options for use with commands have been removed, construct
an ``Option`` with the name instead. (Martin Packman)
+* The unused exception ``HistoryMissing`` has been removed.
+ (Jelmer Vernooij)
+
Internals
*********
More information about the bazaar-commits
mailing list