Part of bzrlib.merge View In Hierarchy
Known subclasses: bzrlib.merge.Diff3Merger, bzrlib.merge.MergeIntoMergeType, bzrlib.merge.WeaveMerger
Method | __init__ | Initialize the merger object and perform the merge. |
Method | do_merge | Undocumented |
Method | make_preview_transform | Undocumented |
Method | fix_root | Undocumented |
Method | write_modified | Undocumented |
Static Method | parent | Determine the parent for a file_id (used as a key method) |
Static Method | name | Determine the name for a file_id (used as a key method) |
Static Method | contents_sha1 | Determine the sha1 of the file contents (used as a key method). |
Static Method | executable | Determine the executability of a file-id (used as a key method). |
Static Method | kind | Determine the kind of a file-id (used as a key method). |
Static Method | scalar_three_way | Do a three-way test on a scalar. |
Method | merge_names | Undocumented |
Method | merge_contents | Fallback merge logic after user installed hooks. |
Method | get_lines | Return the lines in a file, or an empty list. |
Method | text_merge | Perform a three-way text merge on a file_id |
Method | merge_executable | Perform a merge on the execute bit. |
Method | cook_conflicts | Convert all conflicts into a form that doesn't depend on trans_id |
Method | _do_merge | Undocumented |
Method | _make_preview_transform | Undocumented |
Method | _compute_transform | Undocumented |
Method | _finish_computing_transform | Finalize the transform and report the changes. |
Method | _entries3 | Gather data about files modified between three trees. |
Method | _entries_lca | Gather data about files modified between multiple trees. |
Static Method | _three_way | Undocumented |
Static Method | _lca_multi_way | Consider LCAs when determining whether a change has occurred. |
Method | _merge_names | Perform a merge on file_id names and parents |
Method | _do_merge_contents | Performs a merge on file_id contents. |
Method | _default_other_winner_merge | Replace this contents with other. |
Method | _get_filter_tree_path | Undocumented |
Method | _dump_conflicts | Emit conflict files. |
Method | _conflict_file | Emit a single conflict file. |
Method | _merge_executable | Perform a merge on the execute bit. |
Parameters | working_tree | The working tree to apply the merge to |
this_tree | The local tree in the merge operation | |
base_tree | The common tree in the merge operation | |
other_tree | The other tree to merge changes from | |
this_branch | The branch associated with this_tree. Defaults to this_tree.branch if not supplied. | |
interesting_ids | The file_ids of files that should be participate in the merge. May not be combined with interesting_files. | |
reprocess If True, perform conflict-reduction processing. | ||
show_base | If True, show the base revision in text conflicts. (incompatible with reprocess) | |
pb | ignored | |
pp | A ProgressPhase object | |
change_reporter | An object that should report changes made | |
interesting_files | The tree-relative paths of files that should participate in the merge. If these paths refer to directories, the contents of those directories will also be included. May not be combined with interesting_ids. If neither interesting_files nor interesting_ids is specified, all files may participate in the merge. | |
lca_trees | Can be set to a dictionary of {revision_id:rev_tree} if the ancestry was found to include a criss-cross merge. Otherwise should be None. |
This is the second half of _compute_transform.
Return a list of tuples of file_id, changed, parents3, names3, executable3. changed is a boolean indicating whether the file contents or kind were changed. parents3 is a tuple of parent ids for base, other and this. names3 is a tuple of names for base, other and this. executable3 is a tuple of execute-bit values for base, other and this.
This compares OTHER versus all LCA trees, and for interesting entries, it then compares with THIS and BASE.
For the multi-valued entries, the format will be (BASE, [lca1, lca2])
Returns | [(file_id, changed, parents, names, executable)], where:
|
If LCAS are all identical, this is the same as a _three_way comparison.
Parameters | bases | value in (BASE, [LCAS]) |
other | value in OTHER | |
this | value in THIS | |
allow_overriding_lca | If there is more than one unique lca value, allow OTHER to override THIS if it has a new value, and THIS only has an lca value, or vice versa. This is appropriate for truly scalar values, not as much for non-scalars. | |
Returns | 'this', 'other', or 'conflict' depending on whether an entry changed or not. |