Rev 4306: Prevent aliasing issues with BzrDirMetaFormat1 by making a new format object in _open. in http://people.ubuntu.com/~robertc/baz2.0/pending/push.roundtrips
Robert Collins
robertc at robertcollins.net
Mon Apr 27 06:56:29 BST 2009
At http://people.ubuntu.com/~robertc/baz2.0/pending/push.roundtrips
------------------------------------------------------------
revno: 4306
revision-id: robertc at robertcollins.net-20090427055616-uhoqgnr8d220u3lv
parent: robertc at robertcollins.net-20090427034755-hzs5tk304glypj9j
committer: Robert Collins <robertc at robertcollins.net>
branch nick: push.roundtrips
timestamp: Mon 2009-04-27 15:56:16 +1000
message:
Prevent aliasing issues with BzrDirMetaFormat1 by making a new format object in _open.
=== modified file 'bzrlib/bzrdir.py'
--- a/bzrlib/bzrdir.py 2009-04-27 03:47:55 +0000
+++ b/bzrlib/bzrdir.py 2009-04-27 05:56:16 +0000
@@ -2396,7 +2396,12 @@
def _open(self, transport):
"""See BzrDirFormat._open."""
- return BzrDirMeta1(transport, self)
+ # Create a new format instance because otherwise initialisation of new
+ # metadirs share the global default format object leading to alias
+ # problems.
+ format = BzrDirMetaFormat1()
+ self._supply_sub_formats_to(format)
+ return BzrDirMeta1(transport, format)
def __return_repository_format(self):
"""Circular import protection."""
More information about the bazaar-commits
mailing list