395
395
return iter(self.versions())
397
397
def plan_merge(self, ver_a, ver_b):
398
417
raise NotImplementedError(VersionedFile.plan_merge)
400
419
def weave_merge(self, plan, a_marker=TextMerge.A_MARKER,
401
420
b_marker=TextMerge.B_MARKER):
402
421
return PlanWeaveMerge(plan, a_marker, b_marker).merge_lines()[0]
404
424
class PlanWeaveMerge(TextMerge):
405
425
"""Weave merge that takes a plan as its input.