21
21
from __future__ import absolute_import
24
from ..i18n import gettext
25
from ..merge import Merger
26
from ..progress import ProgressPhase
27
from ..trace import note
28
from ..bzr.vf_repository import install_revision
24
from bzrlib.i18n import gettext
25
from bzrlib.merge import Merger
26
from bzrlib.progress import ProgressPhase
27
from bzrlib.trace import note
28
from bzrlib.vf_repository import install_revision
31
31
def install_bundle(repository, bundle_reader):
32
32
custom_install = getattr(bundle_reader, 'install', None)
33
33
if custom_install is not None:
34
34
return custom_install(repository)
35
with repository.lock_write(), ui.ui_factory.nested_progress_bar() as pb:
35
pb = ui.ui_factory.nested_progress_bar()
36
repository.lock_write()
36
38
real_revisions = bundle_reader.real_revisions
37
39
for i, revision in enumerate(reversed(real_revisions)):
38
pb.update(gettext("Install revisions"), i, len(real_revisions))
40
pb.update(gettext("Install revisions"),i, len(real_revisions))
39
41
if repository.has_revision(revision.revision_id):
41
43
cset_tree = bundle_reader.revision_tree(repository,
42
44
revision.revision_id)
43
45
install_revision(repository, revision, cset_tree)
46
51
def merge_bundle(reader, tree, check_clean, merge_type,