842
842
'on the source repository, and "bzr reconcile" '
843
843
'if necessary.' %
844
844
(version_id, parents[0]))
846
# We received a line-delta record for a non-delta knit.
847
# Convert it to a fulltext.
848
gzip_bytes = reader_callable(length)
849
self._convert_line_delta_to_fulltext(
850
gzip_bytes, version_id, parents)
845
853
self._add_raw_records(
846
854
[(version_id, options, parents, length)],
847
855
reader_callable(length))
857
def _convert_line_delta_to_fulltext(self, gzip_bytes, version_id, parents):
858
lines, sha1 = self._data._parse_record(version_id, gzip_bytes)
859
delta = self.factory.parse_line_delta(lines, version_id)
860
content = self.factory.make(self.get_lines(parents[0]), parents[0])
861
content.apply_delta(delta, version_id)
862
digest, len, content = self.add_lines(
863
version_id, parents, content.text())
865
raise errors.VersionedFileInvalidChecksum(version_id)
849
867
def _knit_from_datastream(self, (format, data_list, reader_callable)):
850
868
"""Create a knit object from a data stream.