~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/builtins.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2007-12-20 04:20:19 UTC
  • mfrom: (3062.2.13 fast-plan-merge2)
  • Revision ID: pqm@pqm.ubuntu.com-20071220042019-wsij5vgvhgw4qhdt
Annotate merge can do cherrypicks (abentley)

Show diffs side-by-side

added added

removed removed

Lines of Context:
3023
3023
                                             " merges.  Not cherrypicking or"
3024
3024
                                             " multi-merges.")
3025
3025
            repository = tree.branch.repository
3026
 
            graph = repository.get_graph()
3027
 
            base_revision = graph.find_unique_lca(parents[0], parents[1])
3028
 
            base_tree = repository.revision_tree(base_revision)
3029
 
            other_tree = repository.revision_tree(parents[1])
3030
3026
            interesting_ids = None
3031
3027
            new_conflicts = []
3032
3028
            conflicts = tree.conflicts()
3062
3058
            # list, we imply that the working tree text has seen and rejected
3063
3059
            # all the changes from the other tree, when in fact those changes
3064
3060
            # have not yet been seen.
 
3061
            pb = ui.ui_factory.nested_progress_bar()
3065
3062
            tree.set_parent_ids(parents[:1])
3066
3063
            try:
3067
 
                conflicts = _mod_merge.merge_inner(
3068
 
                                          tree.branch, other_tree, base_tree,
3069
 
                                          this_tree=tree,
3070
 
                                          interesting_ids=interesting_ids,
3071
 
                                          other_rev_id=parents[1],
3072
 
                                          merge_type=merge_type,
3073
 
                                          show_base=show_base,
3074
 
                                          reprocess=reprocess)
 
3064
                merger = _mod_merge.Merger.from_revision_ids(pb,
 
3065
                                                             tree, parents[1])
 
3066
                merger.interesting_ids = interesting_ids
 
3067
                merger.merge_type = merge_type
 
3068
                merger.show_base = show_base
 
3069
                merger.reprocess = reprocess
 
3070
                conflicts = merger.do_merge()
3075
3071
            finally:
3076
3072
                tree.set_parent_ids(parents)
 
3073
                pb.finished()
3077
3074
        finally:
3078
3075
            tree.unlock()
3079
3076
        if conflicts > 0: