628
628
if record.storage_kind == 'absent':
629
629
raise errors.RevisionNotPresent([record.key[0]], self)
630
630
# adapt to non-tuple interface
631
if record.storage_kind == 'fulltext':
631
if record.storage_kind in ('fulltext', 'chunks', 'lines'):
632
632
self.add_lines(record.key, None,
633
osutils.split_lines(record.get_bytes_as('fulltext')))
633
record.get_bytes_as('lines'))
635
adapter_key = record.storage_kind, 'fulltext'
635
adapter_key = record.storage_kind, 'lines'
637
637
adapter = adapters[adapter_key]
639
639
adapter_factory = adapter_registry.get(adapter_key)
640
640
adapter = adapter_factory(self)
641
641
adapters[adapter_key] = adapter
642
lines = osutils.split_lines(adapter.get_bytes(
643
record, record.get_bytes_as(record.storage_kind)))
642
lines = adapter.get_bytes(
643
record, record.get_bytes_as(record.storage_kind))
645
645
self.add_lines(record.key, None, lines)
646
646
except errors.RevisionAlreadyPresent: