44
from brzlib.registry import Registry
45
from brzlib.textmerge import TextMerge
44
from breezy.registry import Registry
45
from breezy.textmerge import TextMerge
48
48
adapter_registry = Registry()
49
adapter_registry.register_lazy(('knit-delta-gz', 'fulltext'), 'brzlib.knit',
49
adapter_registry.register_lazy(('knit-delta-gz', 'fulltext'), 'breezy.knit',
50
50
'DeltaPlainToFullText')
51
adapter_registry.register_lazy(('knit-ft-gz', 'fulltext'), 'brzlib.knit',
51
adapter_registry.register_lazy(('knit-ft-gz', 'fulltext'), 'breezy.knit',
52
52
'FTPlainToFullText')
53
53
adapter_registry.register_lazy(('knit-annotated-delta-gz', 'knit-delta-gz'),
54
'brzlib.knit', 'DeltaAnnotatedToUnannotated')
54
'breezy.knit', 'DeltaAnnotatedToUnannotated')
55
55
adapter_registry.register_lazy(('knit-annotated-delta-gz', 'fulltext'),
56
'brzlib.knit', 'DeltaAnnotatedToFullText')
56
'breezy.knit', 'DeltaAnnotatedToFullText')
57
57
adapter_registry.register_lazy(('knit-annotated-ft-gz', 'knit-ft-gz'),
58
'brzlib.knit', 'FTAnnotatedToUnannotated')
58
'breezy.knit', 'FTAnnotatedToUnannotated')
59
59
adapter_registry.register_lazy(('knit-annotated-ft-gz', 'fulltext'),
60
'brzlib.knit', 'FTAnnotatedToFullText')
60
'breezy.knit', 'FTAnnotatedToFullText')
61
61
# adapter_registry.register_lazy(('knit-annotated-ft-gz', 'chunked'),
62
# 'brzlib.knit', 'FTAnnotatedToChunked')
62
# 'breezy.knit', 'FTAnnotatedToChunked')
65
65
class ContentFactory(object):
920
920
The keyspace is expressed via simple tuples. Any instance of VersionedFiles
921
921
may have a different length key-size, but that size will be constant for
922
all texts added to or retrieved from it. For instance, brzlib uses
922
all texts added to or retrieved from it. For instance, breezy uses
923
923
instances with a key-size of 2 for storing user files in a repository, with
924
924
the first element the fileid, and the second the version of that file.
1481
1481
def plan_merge(self, ver_a, ver_b, base=None):
1482
1482
"""See VersionedFile.plan_merge"""
1483
from brzlib.merge import _PlanMerge
1483
from breezy.merge import _PlanMerge
1484
1484
if base is None:
1485
1485
return _PlanMerge(ver_a, ver_b, self, (self._file_id,)).plan_merge()
1486
1486
old_plan = list(_PlanMerge(ver_a, base, self, (self._file_id,)).plan_merge())
1488
1488
return _PlanMerge._subtract_plans(old_plan, new_plan)
1490
1490
def plan_lca_merge(self, ver_a, ver_b, base=None):
1491
from brzlib.merge import _PlanLCAMerge
1491
from breezy.merge import _PlanLCAMerge
1492
1492
graph = _mod_graph.Graph(self)
1493
1493
new_plan = _PlanLCAMerge(ver_a, ver_b, self, (self._file_id,), graph).plan_merge()
1494
1494
if base is None: