Part of bzrlib.merge View In Hierarchy
This is faster, and hopefully produces more useful output.
Method | __init__ | Contructor. |
Method | _determine_status | Determines the status unique lines versus all lcas. |
Inherited from _PlanMergeBase:
Method | get_lines | Get lines for revisions from the backing VersionedFiles. |
Method | plan_merge | Generate a 'plan' for merging the two revisions. |
Method | _precache_tip_lines | Undocumented |
Method | _iter_plan | Undocumented |
Method | _get_matching_blocks | Return a description of which sections of two revisions match. |
Method | _unique_lines | Analyse matching_blocks to determine which lines are unique |
Static Method | _subtract_plans | Remove changes from new_plan that came from old_plan. |
Parameters | a_rev | Revision-id of one revision to merge |
b_rev | Revision-id of the other revision to merge | |
vf | A VersionedFiles containing both revisions | |
key_prefix | A prefix for accessing keys in vf, typically (file_id,). |
Basically, determines why the line is unique to this revision.
A line may be determined new, killed, or both.
If a line is determined new, that means it was not present in at least one LCA, and is not present in the other merge revision.
If a line is determined killed, that means the line was present in at least one LCA.
If a line is killed and new, this indicates that the two merge revisions contain differing conflict resolutions.
Parameters | revision_id | The id of the revision in which the lines are unique |
unique_line_numbers | The line numbers of unique lines. | |
Returns | a tuple of (new_this, killed_other) |