19
19
# change upgrade from .bzr to create a '.bzr-new', then do a bait and switch.
22
from bzrlib.bzrdir import ConvertBzrDir4To5, ConvertBzrDir5To6, BzrDir, BzrDirFormat4, BzrDirFormat5, BzrDirFormat
22
from bzrlib.bzrdir import ConvertBzrDir4To5, ConvertBzrDir5To6, BzrDir, BzrDirFormat4, BzrDirFormat5
23
23
import bzrlib.errors as errors
24
24
from bzrlib.transport import get_transport
25
25
import bzrlib.ui as ui
33
33
if self.bzrdir.root_transport.is_readonly():
34
34
raise errors.UpgradeReadonly
35
35
self.transport = self.bzrdir.root_transport
36
self.pb = ui.ui_factory.nested_progress_bar()
44
branch = self.bzrdir.open_branch()
45
if branch.bzrdir.root_transport.base != \
46
self.bzrdir.root_transport.base:
47
self.pb.note("This is a checkout. The branch (%s) needs to be "
48
"upgraded separately.",
49
branch.bzrdir.root_transport.base)
50
except errors.NotBranchError:
39
self.pb = ui.ui_factory.progress_bar()
40
branch = self.bzrdir.open_branch()
41
if branch.bzrdir.root_transport.base != self.bzrdir.root_transport.base:
42
self.pb.note("This is a checkout. The branch (%s) needs to be "
43
"upgraded separately.",
44
branch.bzrdir.root_transport.base)
52
45
if not self.bzrdir.needs_format_conversion(self.format):
53
46
raise errors.UpToDateFormat(self.bzrdir._format)
54
47
if not self.bzrdir.can_convert_format():
55
48
raise errors.BzrError("cannot upgrade from branch format %s" %
56
49
self.bzrdir._format)
57
if self.format is None:
58
target_format = BzrDirFormat.get_default_format()
60
target_format = self.format
61
self.bzrdir.check_conversion_target(target_format)
62
50
self.pb.note('starting upgrade of %s', self.transport.base)
63
51
self._backup_control_dir()
64
52
while self.bzrdir.needs_format_conversion(self.format):