Rev 2912: Knits need to be rebuilt if they are a different data version. in http://bzr.arbash-meinel.com/branches/bzr/0.92-dev/knit_parents
John Arbash Meinel
john at arbash-meinel.com
Fri Oct 26 22:57:55 BST 2007
At http://bzr.arbash-meinel.com/branches/bzr/0.92-dev/knit_parents
------------------------------------------------------------
revno: 2912
revision-id:john at arbash-meinel.com-20071026215719-zzjyosi3xbgpdh84
parent: john at arbash-meinel.com-20071026214502-andvxbgaxe3pnw70
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: knit_parents
timestamp: Fri 2007-10-26 16:57:19 -0500
message:
Knits need to be rebuilt if they are a different data version.
modified:
bzrlib/knit.py knit.py-20051212171256-f056ac8f0fbe1bd9
-------------- next part --------------
=== modified file 'bzrlib/knit.py'
--- a/bzrlib/knit.py 2007-10-26 21:48:19 +0000
+++ b/bzrlib/knit.py 2007-10-26 21:57:19 +0000
@@ -2393,10 +2393,12 @@
# If the source and target are mismatched w.r.t. annotations vs
# plain, the data needs to be converted accordingly
- if self.source.factory.annotated == self.target.factory.annotated:
+ if self.source._data.__class__ != self.target._data.__class__:
+ converter = self._rebuild_converter
+ elif self.source.factory.annotated == self.target.factory.annotated:
converter = None
elif self.source.factory.annotated:
- converter = self._anno_to_plain_converter
+ converter = self._rebuild_converter
else:
# We're converting from a plain to an annotated knit. This requires
# building the annotations from scratch. The generic join code
@@ -2474,9 +2476,8 @@
finally:
pb.finished()
- def _anno_to_plain_converter(self, raw_data, version_id, options,
- parents):
- """Convert annotated content to plain content."""
+ def _rebuild_converter(self, raw_data, version_id, options, parents):
+ """Convert content by extracting it and storing it again."""
data, digest = self.source._data._parse_record(version_id, raw_data)
if 'fulltext' in options:
content = self.source.factory.parse_fulltext(data, version_id)
More information about the bazaar-commits
mailing list