~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/bzrdir.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2009-01-19 10:25:07 UTC
  • mfrom: (3943.2.5 hpss-upgrade)
  • Revision ID: pqm@pqm.ubuntu.com-20090119102507-0ue83url4iguuol1
(mbp) small refactorings of upgrade

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005, 2006, 2007, 2008 Canonical Ltd
 
1
# Copyright (C) 2005, 2006, 2007, 2008, 2009 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
524
524
        
525
525
        :return: Tuple with old path name and new path name
526
526
        """
527
 
        self.root_transport.copy_tree('.bzr', 'backup.bzr')
528
 
        return (self.root_transport.abspath('.bzr'),
529
 
                self.root_transport.abspath('backup.bzr'))
 
527
        pb = ui.ui_factory.nested_progress_bar()
 
528
        try:
 
529
            # FIXME: bug 300001 -- the backup fails if the backup directory
 
530
            # already exists, but it should instead either remove it or make
 
531
            # a new backup directory.
 
532
            #
 
533
            # FIXME: bug 262450 -- the backup directory should have the same 
 
534
            # permissions as the .bzr directory (probably a bug in copy_tree)
 
535
            old_path = self.root_transport.abspath('.bzr')
 
536
            new_path = self.root_transport.abspath('backup.bzr')
 
537
            pb.note('making backup of %s' % (old_path,))
 
538
            pb.note('  to %s' % (new_path,))
 
539
            self.root_transport.copy_tree('.bzr', 'backup.bzr')
 
540
            return (old_path, new_path)
 
541
        finally:
 
542
            pb.finished()
530
543
 
531
544
    def retire_bzrdir(self, limit=10000):
532
545
        """Permanently disable the bzrdir.
1308
1321
        # if the format is not the same as the system default,
1309
1322
        # an upgrade is needed.
1310
1323
        if format is None:
 
1324
            symbol_versioning.warn(symbol_versioning.deprecated_in((1, 13, 0))
 
1325
                % 'needs_format_conversion(format=None)')
1311
1326
            format = BzrDirFormat.get_default_format()
1312
1327
        return not isinstance(self._format, format.__class__)
1313
1328
 
1355
1370
 
1356
1371
    def needs_format_conversion(self, format=None):
1357
1372
        """Format 4 dirs are always in need of conversion."""
 
1373
        if format is None:
 
1374
            symbol_versioning.warn(symbol_versioning.deprecated_in((1, 13, 0))
 
1375
                % 'needs_format_conversion(format=None)')
1358
1376
        return True
1359
1377
 
1360
1378
    def open_repository(self):
1516
1534
    def needs_format_conversion(self, format=None):
1517
1535
        """See BzrDir.needs_format_conversion()."""
1518
1536
        if format is None:
 
1537
            symbol_versioning.warn(symbol_versioning.deprecated_in((1, 13, 0))
 
1538
                % 'needs_format_conversion(format=None)')
 
1539
        if format is None:
1519
1540
            format = BzrDirFormat.get_default_format()
1520
1541
        if not isinstance(self._format, format.__class__):
1521
1542
            # it is not a meta dir format, conversion is needed.