~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/builtins.py

Merge from bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
from bzrlib.log import show_one_log
37
37
from bzrlib.merge import Merge3Merger
38
38
from bzrlib.option import Option
39
 
from bzrlib.progress import DummyProgress
 
39
from bzrlib.progress import DummyProgress, ProgressPhase
40
40
from bzrlib.revisionspec import RevisionSpec
41
41
import bzrlib.trace
42
42
from bzrlib.trace import mutter, note, log_error, warning, is_quiet
2381
2381
                              " type. %s" % merge_type)
2382
2382
    if reprocess and show_base:
2383
2383
        raise BzrCommandError("Cannot reprocess and show base.")
2384
 
    merger = Merger(this_tree.branch, this_tree=this_tree, pb=pb)
2385
 
    merger.check_basis(check_clean)
2386
 
    merger.set_other(other_revision)
2387
 
    merger.set_base(base_revision)
2388
 
    if merger.base_rev_id == merger.other_rev_id:
2389
 
        note('Nothing to do.')
2390
 
        return 0
2391
 
    merger.backup_files = backup_files
2392
 
    merger.merge_type = merge_type 
2393
 
    merger.set_interesting_files(file_list)
2394
 
    merger.show_base = show_base 
2395
 
    merger.reprocess = reprocess
2396
 
    conflicts = merger.do_merge()
2397
 
    merger.set_pending()
 
2384
    try:
 
2385
        merger = Merger(this_tree.branch, this_tree=this_tree, pb=pb)
 
2386
        merger.pp = ProgressPhase("Merge phase", 5, pb)
 
2387
        merger.pp.next_phase()
 
2388
        merger.check_basis(check_clean)
 
2389
        merger.set_other(other_revision)
 
2390
        merger.pp.next_phase()
 
2391
        merger.set_base(base_revision)
 
2392
        if merger.base_rev_id == merger.other_rev_id:
 
2393
            note('Nothing to do.')
 
2394
            return 0
 
2395
        merger.backup_files = backup_files
 
2396
        merger.merge_type = merge_type 
 
2397
        merger.set_interesting_files(file_list)
 
2398
        merger.show_base = show_base 
 
2399
        merger.reprocess = reprocess
 
2400
        conflicts = merger.do_merge()
 
2401
        merger.set_pending()
 
2402
    finally:
 
2403
        pb.clear()
2398
2404
    return conflicts
2399
2405
 
2400
2406