Rev 4625: Merge Martin's upgrade bugfix. in http://bazaar.launchpad.net/~lifeless/bzr/bug-398668

Robert Collins robertc at robertcollins.net
Mon Aug 17 04:51:48 BST 2009


At http://bazaar.launchpad.net/~lifeless/bzr/bug-398668

------------------------------------------------------------
revno: 4625 [merge]
revision-id: robertc at robertcollins.net-20090817035144-3tf1hviucss2mki0
parent: robertc at robertcollins.net-20090817034703-53hxw4gwxrgucbvq
parent: mbp at sourcefrog.net-20090814111734-qvss9y1ommjfdish
committer: Robert Collins <robertc at robertcollins.net>
branch nick: bug-398668
timestamp: Mon 2009-08-17 13:51:44 +1000
message:
  Merge Martin's upgrade bugfix.
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
  bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
  bzrlib/repofmt/knitrepo.py     knitrepo.py-20070206081537-pyy4a00xdas0j4pf-1
  bzrlib/repofmt/pack_repo.py    pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
  bzrlib/repofmt/weaverepo.py    presplitout.py-20070125045333-wfav3tsh73oxu3zk-1
=== modified file 'NEWS'
--- a/NEWS	2009-08-17 03:47:03 +0000
+++ b/NEWS	2009-08-17 03:51:44 +0000
@@ -58,6 +58,11 @@
 * StreamSource generates rich roots from non-rich root sources correctly
   now.  (Andrew Bennetts, #368921)
 
+* When deciding whether a repository was compatible for upgrading or
+  fetching, we previously incorrectly checked the default repository
+  format for the bzrdir format, rather than the format that was actually
+  present on disk.  (Martin Pool, #408824)
+
 Improvements
 ************
 

=== modified file 'bzrlib/bzrdir.py'
--- a/bzrlib/bzrdir.py	2009-08-17 03:47:03 +0000
+++ b/bzrlib/bzrdir.py	2009-08-17 03:51:44 +0000
@@ -130,8 +130,7 @@
 
     def check_conversion_target(self, target_format):
         target_repo_format = target_format.repository_format
-        source_repo_format = self._format.repository_format
-        source_repo_format.check_conversion_target(target_repo_format)
+        self.open_repository()._format.check_conversion_target(target_repo_format)
 
     @staticmethod
     def _check_supported(format, allow_unsupported,

=== modified file 'bzrlib/remote.py'
--- a/bzrlib/remote.py	2009-08-17 03:47:03 +0000
+++ b/bzrlib/remote.py	2009-08-17 03:51:44 +0000
@@ -566,17 +566,6 @@
     def __eq__(self, other):
         return self.__class__ is other.__class__
 
-    def check_conversion_target(self, target_format):
-        if self.rich_root_data and not target_format.rich_root_data:
-            raise errors.BadConversionTarget(
-                'Does not support rich root data.', target_format,
-                from_format=self)
-        if (self.supports_tree_reference and
-            not getattr(target_format, 'supports_tree_reference', False)):
-            raise errors.BadConversionTarget(
-                'Does not support nested trees', target_format,
-                from_format=self)
-
     def network_name(self):
         if self._network_name:
             return self._network_name

=== modified file 'bzrlib/repofmt/knitrepo.py'
--- a/bzrlib/repofmt/knitrepo.py	2009-08-14 09:37:57 +0000
+++ b/bzrlib/repofmt/knitrepo.py	2009-08-14 11:11:29 +0000
@@ -424,9 +424,6 @@
         """See RepositoryFormat.get_format_description()."""
         return "Knit repository format 1"
 
-    def check_conversion_target(self, target_format):
-        pass
-
 
 class RepositoryFormatKnit3(RepositoryFormatKnit):
     """Bzr repository knit format 3.

=== modified file 'bzrlib/repofmt/pack_repo.py'
--- a/bzrlib/repofmt/pack_repo.py	2009-08-14 09:37:57 +0000
+++ b/bzrlib/repofmt/pack_repo.py	2009-08-14 11:11:29 +0000
@@ -2529,9 +2529,6 @@
         """See RepositoryFormat.get_format_description()."""
         return "Packs containing knits without subtree support"
 
-    def check_conversion_target(self, target_format):
-        pass
-
 
 class RepositoryFormatKnitPack3(RepositoryFormatPack):
     """A subtrees parameterized Pack repository.
@@ -2647,9 +2644,6 @@
         """See RepositoryFormat.get_format_description()."""
         return "Packs 5 (adds stacking support, requires bzr 1.6)"
 
-    def check_conversion_target(self, target_format):
-        pass
-
 
 class RepositoryFormatKnitPack5RichRoot(RepositoryFormatPack):
     """A repository with rich roots and stacking.
@@ -2771,9 +2765,6 @@
         """See RepositoryFormat.get_format_description()."""
         return "Packs 6 (uses btree indexes, requires bzr 1.9)"
 
-    def check_conversion_target(self, target_format):
-        pass
-
 
 class RepositoryFormatKnitPack6RichRoot(RepositoryFormatPack):
     """A repository with rich roots, no subtrees, stacking and btree indexes.

=== modified file 'bzrlib/repofmt/weaverepo.py'
--- a/bzrlib/repofmt/weaverepo.py	2009-04-09 20:23:07 +0000
+++ b/bzrlib/repofmt/weaverepo.py	2009-08-14 11:11:29 +0000
@@ -319,9 +319,6 @@
         result.chk_bytes = None
         return result
 
-    def check_conversion_target(self, target_format):
-        pass
-
 
 class RepositoryFormat4(PreSplitOutRepositoryFormat):
     """Bzr repository format 4.
@@ -494,9 +491,6 @@
         """See RepositoryFormat.get_format_description()."""
         return "Weave repository format 7"
 
-    def check_conversion_target(self, target_format):
-        pass
-
     def _get_inventories(self, repo_transport, repo, name='inventory'):
         mapper = versionedfile.ConstantMapper(name)
         return versionedfile.ThunkedVersionedFiles(repo_transport,




More information about the bazaar-commits mailing list