~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/merge.py

PEP8 and comment cleanups

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
import os
19
19
import errno
 
20
from shutil import rmtree
20
21
from tempfile import mkdtemp
21
 
from shutil import rmtree
22
22
 
23
23
import bzrlib
24
24
from bzrlib.branch import Branch
35
35
                           WorkingTreeNotRevision,
36
36
                           )
37
37
from bzrlib.fetch import greedy_fetch, fetch
 
38
from bzrlib.merge3 import Merge3
38
39
import bzrlib.osutils
39
 
from bzrlib.merge3 import Merge3
40
40
from bzrlib.osutils import rename, pathjoin
41
41
from bzrlib.revision import common_ancestor, is_ancestor, NULL_REVISION
42
 
from bzrlib.transform import TreeTransform, resolve_conflicts, FinalPaths, create_by_entry, unique_add
 
42
from bzrlib.transform import (TreeTransform, resolve_conflicts, FinalPaths, 
 
43
                              create_by_entry, unique_add)
43
44
from bzrlib.trace import mutter, warning, note
44
45
 
45
46
# TODO: Report back as changes are merged in
46
47
 
47
 
# comments from abentley on irc: merge happens in two stages, each
48
 
# of which generates a changeset object
49
 
 
50
 
# stage 1: generate OLD->OTHER,
51
 
# stage 2: use MINE and OLD->OTHER to generate MINE -> RESULT
52
 
 
53
48
def _get_tree(treespec, local_branch=None):
54
49
    location, revno = treespec
55
50
    branch = Branch.open_containing(location)[0]
329
324
 
330
325
 
331
326
class Merge3Merger(object):
 
327
    """Three-way merger that uses the merge3 text merger"""
332
328
    requires_base = True
333
329
    supports_reprocess = True
334
330
    supports_show_base = True
335
331
    history_based = False
 
332
 
336
333
    def __init__(self, working_tree, this_tree, base_tree, other_tree, 
337
334
                 reprocess=False, show_base=False):
338
335
        """Initialize the merger object and perform the merge."""
467
464
        self.tt.adjust_path(winner_entry[name_winner].name, parent_trans_id,
468
465
                            trans_id)
469
466
 
470
 
 
471
467
    def merge_contents(self, file_id):
472
468
        """Performa a merge on file_id contents."""
473
469
        def contents_pair(tree):
728
724
 
729
725
 
730
726
class WeaveMerger(Merge3Merger):
731
 
    """Merger that does weave merges."""
 
727
    """Three-way tree merger, text weave merger."""
732
728
    supports_reprocess = False
733
729
    supports_show_base = False
734
730
 
790
786
 
791
787
 
792
788
class Diff3Merger(Merge3Merger):
793
 
    """Use good ol' diff3 to do text merges"""
 
789
    """Three-way merger using external diff3 for text merging"""
794
790
    def dump_file(self, temp_dir, name, tree, file_id):
795
791
        out_path = pathjoin(temp_dir, name)
796
792
        out_file = file(out_path, "wb")