[MERGE] Use repo.supports_rich_root() rather than repo._format.rich_root_data
Andrew Bennetts
andrew at canonical.com
Wed Apr 11 06:48:49 BST 2007
Andrew Bennetts wrote:
> As explained in the commit message, this bundle makes a small change that helps
> the smart server work.
...But it didn't pass all the tests.
This updated bundle includes some changes to test_repository Robert made to the
hpss branch that fixed the offending tests, and also has merged in current
bzr.dev to fix some minor conflicts.
I don't think this is controversial, but I would appreciate a re-review.
-Andrew.
-------------- next part --------------
# Bazaar revision bundle v0.9
#
# message:
# Reinstate checking of source & targer _serializer that I accidentally clobbered.
# committer: Andrew Bennetts <andrew.bennetts at canonical.com>
# date: Wed 2007-04-11 15:43:39.490000010 +1000
=== modified file bzrlib/repository.py
--- bzrlib/repository.py
+++ bzrlib/repository.py
@@ -1341,16 +1341,11 @@
@staticmethod
def is_compatible(source, target):
- if not isinstance(source, Repository):
- return False
- if not isinstance(target, Repository):
- return False
- if source._format.rich_root_data != target._format.rich_root_data:
+ if source.supports_rich_root() != target.supports_rich_root():
return False
if source._serializer != target._serializer:
return False
- else:
- return True
+ return True
@needs_write_lock
def copy_content(self, revision_id=None):
@@ -1586,11 +1581,7 @@
@staticmethod
def is_compatible(source, target):
- if not isinstance(source, Repository):
- return False
- if not isinstance(target, Repository):
- return False
- if not source._format.rich_root_data and target._format.rich_root_data:
+ if not source.supports_rich_root() and target.supports_rich_root():
return True
else:
return False
=== modified file bzrlib/tests/test_repository.py // last-changed:andrew.bennet
... ts at canonical.com-20070411054121-t3qnk4z25j27l7zc
--- bzrlib/tests/test_repository.py
+++ bzrlib/tests/test_repository.py
@@ -336,18 +336,29 @@
self.assertTrue(S_ISDIR(t.stat('knits').st_mode))
self.check_knits(t)
-class InterString(repository.InterRepository):
- """An inter-repository optimised code path for strings.
-
- This is for use during testing where we use strings as repositories
+
+class DummyRepository(object):
+ """A dummy repository for testing."""
+
+ _serializer = None
+
+ def supports_rich_root(self):
+ return False
+
+
+class InterDummy(repository.InterRepository):
+ """An inter-repository optimised code path for DummyRepository.
+
+ This is for use during testing where we use DummyRepository as repositories
so that none of the default regsitered inter-repository classes will
match.
"""
@staticmethod
def is_compatible(repo_source, repo_target):
- """InterString is compatible with strings-as-repos."""
- return isinstance(repo_source, str) and isinstance(repo_target, str)
+ """InterDummy is compatible with DummyRepository."""
+ return (isinstance(repo_source, DummyRepository) and
+ isinstance(repo_target, DummyRepository))
class TestInterRepository(TestCaseWithTransport):
@@ -359,14 +370,18 @@
# This also tests that the default registered optimised interrepository
# classes do not barf inappropriately when a surprising repository type
# is handed to them.
- dummy_a = "Repository 1."
- dummy_b = "Repository 2."
+ dummy_a = DummyRepository()
+ dummy_b = DummyRepository()
self.assertGetsDefaultInterRepository(dummy_a, dummy_b)
def assertGetsDefaultInterRepository(self, repo_a, repo_b):
- """Asserts that InterRepository.get(repo_a, repo_b) -> the default."""
+ """Asserts that InterRepository.get(repo_a, repo_b) -> the default.
+
+ The effective default is now InterSameDataRepository because there is
+ no actual sane default in the presence of incompatible data models.
+ """
inter_repo = repository.InterRepository.get(repo_a, repo_b)
- self.assertEqual(repository.InterRepository,
+ self.assertEqual(repository.InterSameDataRepository,
inter_repo.__class__)
self.assertEqual(repo_a, inter_repo.source)
self.assertEqual(repo_b, inter_repo.target)
@@ -377,22 +392,26 @@
# and that it is correctly selected when given a repository
# pair that it returns true on for the is_compatible static method
# check
- dummy_a = "Repository 1."
- dummy_b = "Repository 2."
- repository.InterRepository.register_optimiser(InterString)
+ dummy_a = DummyRepository()
+ dummy_b = DummyRepository()
+ repo = self.make_repository('.')
+ # hack dummies to look like repo somewhat.
+ dummy_a._serializer = repo._serializer
+ dummy_b._serializer = repo._serializer
+ repository.InterRepository.register_optimiser(InterDummy)
try:
- # we should get the default for something InterString returns False
+ # we should get the default for something InterDummy returns False
# to
- self.assertFalse(InterString.is_compatible(dummy_a, None))
- self.assertGetsDefaultInterRepository(dummy_a, None)
- # and we should get an InterString for a pair it 'likes'
- self.assertTrue(InterString.is_compatible(dummy_a, dummy_b))
+ self.assertFalse(InterDummy.is_compatible(dummy_a, repo))
+ self.assertGetsDefaultInterRepository(dummy_a, repo)
+ # and we should get an InterDummy for a pair it 'likes'
+ self.assertTrue(InterDummy.is_compatible(dummy_a, dummy_b))
inter_repo = repository.InterRepository.get(dummy_a, dummy_b)
- self.assertEqual(InterString, inter_repo.__class__)
+ self.assertEqual(InterDummy, inter_repo.__class__)
self.assertEqual(dummy_a, inter_repo.source)
self.assertEqual(dummy_b, inter_repo.target)
finally:
- repository.InterRepository.unregister_optimiser(InterString)
+ repository.InterRepository.unregister_optimiser(InterDummy)
# now we should get the default InterRepository object again.
self.assertGetsDefaultInterRepository(dummy_a, dummy_b)
=== modified directory // last-changed:andrew.bennetts at canonical.com-200704110
... 54339-b01z0zc1bj21x16o
=== modified file bzrlib/tests/repository_implementations/test_commit_builder.p
... y // last-changed:andrew.bennetts at canonical.com-20070411053753-99pjtm3yfpj9
... amzz
=== modified file bzrlib/tests/repository_implementations/test_repository.py //
... last-changed:andrew.bennetts at canonical.com-20070411053753-99pjtm3yfpj9amzz
# revision id: andrew.bennetts at canonical.com-20070411054339-b01z0zc1bj21x16o
# sha1: 4cbbdd01db8ac4715aad05d557a567378af465ef
# inventory sha1: 56eaace17e675b8292ef3f64a74fb044cbb98674
# parent ids:
# andrew.bennetts at canonical.com-20070411054121-t3qnk4z25j27l7zc
# base id: pqm at pqm.ubuntu.com-20070411022359-403a2155afb207cf
# properties:
# branch-nick: supports-rich-root
# message:
# Bring across test_repository improvements from the hpss branch to fix the last test failures.
# committer: Andrew Bennetts <andrew.bennetts at canonical.com>
# date: Wed 2007-04-11 15:41:21.743999958 +1000
=== modified file bzrlib/tests/test_repository.py // encoding:base64
LS0tIGJ6cmxpYi90ZXN0cy90ZXN0X3JlcG9zaXRvcnkucHkKKysrIGJ6cmxpYi90ZXN0cy90ZXN0
X3JlcG9zaXRvcnkucHkKQEAgLTMzNiwxOCArMzM2LDI5IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0
VHJ1ZShTX0lTRElSKHQuc3RhdCgna25pdHMnKS5zdF9tb2RlKSkKICAgICAgICAgc2VsZi5jaGVj
a19rbml0cyh0KQogCi1jbGFzcyBJbnRlclN0cmluZyhyZXBvc2l0b3J5LkludGVyUmVwb3NpdG9y
eSk6Ci0gICAgIiIiQW4gaW50ZXItcmVwb3NpdG9yeSBvcHRpbWlzZWQgY29kZSBwYXRoIGZvciBz
dHJpbmdzLgotCi0gICAgVGhpcyBpcyBmb3IgdXNlIGR1cmluZyB0ZXN0aW5nIHdoZXJlIHdlIHVz
ZSBzdHJpbmdzIGFzIHJlcG9zaXRvcmllcworCitjbGFzcyBEdW1teVJlcG9zaXRvcnkob2JqZWN0
KToKKyAgICAiIiJBIGR1bW15IHJlcG9zaXRvcnkgZm9yIHRlc3RpbmcuIiIiCisKKyAgICBfc2Vy
aWFsaXplciA9IE5vbmUKKworICAgIGRlZiBzdXBwb3J0c19yaWNoX3Jvb3Qoc2VsZik6CisgICAg
ICAgIHJldHVybiBGYWxzZQorCisKK2NsYXNzIEludGVyRHVtbXkocmVwb3NpdG9yeS5JbnRlclJl
cG9zaXRvcnkpOgorICAgICIiIkFuIGludGVyLXJlcG9zaXRvcnkgb3B0aW1pc2VkIGNvZGUgcGF0
aCBmb3IgRHVtbXlSZXBvc2l0b3J5LgorCisgICAgVGhpcyBpcyBmb3IgdXNlIGR1cmluZyB0ZXN0
aW5nIHdoZXJlIHdlIHVzZSBEdW1teVJlcG9zaXRvcnkgYXMgcmVwb3NpdG9yaWVzCiAgICAgc28g
dGhhdCBub25lIG9mIHRoZSBkZWZhdWx0IHJlZ3NpdGVyZWQgaW50ZXItcmVwb3NpdG9yeSBjbGFz
c2VzIHdpbGwKICAgICBtYXRjaC4KICAgICAiIiIKIAogICAgIEBzdGF0aWNtZXRob2QKICAgICBk
ZWYgaXNfY29tcGF0aWJsZShyZXBvX3NvdXJjZSwgcmVwb190YXJnZXQpOgotICAgICAgICAiIiJJ
bnRlclN0cmluZyBpcyBjb21wYXRpYmxlIHdpdGggc3RyaW5ncy1hcy1yZXBvcy4iIiIKLSAgICAg
ICAgcmV0dXJuIGlzaW5zdGFuY2UocmVwb19zb3VyY2UsIHN0cikgYW5kIGlzaW5zdGFuY2UocmVw
b190YXJnZXQsIHN0cikKKyAgICAgICAgIiIiSW50ZXJEdW1teSBpcyBjb21wYXRpYmxlIHdpdGgg
RHVtbXlSZXBvc2l0b3J5LiIiIgorICAgICAgICByZXR1cm4gKGlzaW5zdGFuY2UocmVwb19zb3Vy
Y2UsIER1bW15UmVwb3NpdG9yeSkgYW5kIAorICAgICAgICAgICAgaXNpbnN0YW5jZShyZXBvX3Rh
cmdldCwgRHVtbXlSZXBvc2l0b3J5KSkKIAogCiBjbGFzcyBUZXN0SW50ZXJSZXBvc2l0b3J5KFRl
c3RDYXNlV2l0aFRyYW5zcG9ydCk6CkBAIC0zNTksMTQgKzM3MCwxOCBAQAogICAgICAgICAjIFRo
aXMgYWxzbyB0ZXN0cyB0aGF0IHRoZSBkZWZhdWx0IHJlZ2lzdGVyZWQgb3B0aW1pc2VkIGludGVy
cmVwb3NpdG9yeQogICAgICAgICAjIGNsYXNzZXMgZG8gbm90IGJhcmYgaW5hcHByb3ByaWF0ZWx5
IHdoZW4gYSBzdXJwcmlzaW5nIHJlcG9zaXRvcnkgdHlwZQogICAgICAgICAjIGlzIGhhbmRlZCB0
byB0aGVtLgotICAgICAgICBkdW1teV9hID0gIlJlcG9zaXRvcnkgMS4iCi0gICAgICAgIGR1bW15
X2IgPSAiUmVwb3NpdG9yeSAyLiIKKyAgICAgICAgZHVtbXlfYSA9IER1bW15UmVwb3NpdG9yeSgp
CisgICAgICAgIGR1bW15X2IgPSBEdW1teVJlcG9zaXRvcnkoKQogICAgICAgICBzZWxmLmFzc2Vy
dEdldHNEZWZhdWx0SW50ZXJSZXBvc2l0b3J5KGR1bW15X2EsIGR1bW15X2IpCiAKICAgICBkZWYg
YXNzZXJ0R2V0c0RlZmF1bHRJbnRlclJlcG9zaXRvcnkoc2VsZiwgcmVwb19hLCByZXBvX2IpOgot
ICAgICAgICAiIiJBc3NlcnRzIHRoYXQgSW50ZXJSZXBvc2l0b3J5LmdldChyZXBvX2EsIHJlcG9f
YikgLT4gdGhlIGRlZmF1bHQuIiIiCisgICAgICAgICIiIkFzc2VydHMgdGhhdCBJbnRlclJlcG9z
aXRvcnkuZ2V0KHJlcG9fYSwgcmVwb19iKSAtPiB0aGUgZGVmYXVsdC4KKyAgICAgICAgCisgICAg
ICAgIFRoZSBlZmZlY3RpdmUgZGVmYXVsdCBpcyBub3cgSW50ZXJTYW1lRGF0YVJlcG9zaXRvcnkg
YmVjYXVzZSB0aGVyZSBpcworICAgICAgICBubyBhY3R1YWwgc2FuZSBkZWZhdWx0IGluIHRoZSBw
cmVzZW5jZSBvZiBpbmNvbXBhdGlibGUgZGF0YSBtb2RlbHMuCisgICAgICAgICIiIgogICAgICAg
ICBpbnRlcl9yZXBvID0gcmVwb3NpdG9yeS5JbnRlclJlcG9zaXRvcnkuZ2V0KHJlcG9fYSwgcmVw
b19iKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcG9zaXRvcnkuSW50ZXJSZXBvc2l0b3J5
LAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcG9zaXRvcnkuSW50ZXJTYW1lRGF0YVJlcG9z
aXRvcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJfcmVwby5fX2NsYXNzX18pCiAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwb19hLCBpbnRlcl9yZXBvLnNvdXJjZSkKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChyZXBvX2IsIGludGVyX3JlcG8udGFyZ2V0KQpAQCAtMzc3LDIy
ICszOTIsMjYgQEAKICAgICAgICAgIyBhbmQgdGhhdCBpdCBpcyBjb3JyZWN0bHkgc2VsZWN0ZWQg
d2hlbiBnaXZlbiBhIHJlcG9zaXRvcnkKICAgICAgICAgIyBwYWlyIHRoYXQgaXQgcmV0dXJucyB0
cnVlIG9uIGZvciB0aGUgaXNfY29tcGF0aWJsZSBzdGF0aWMgbWV0aG9kCiAgICAgICAgICMgY2hl
Y2sKLSAgICAgICAgZHVtbXlfYSA9ICJSZXBvc2l0b3J5IDEuIgotICAgICAgICBkdW1teV9iID0g
IlJlcG9zaXRvcnkgMi4iCi0gICAgICAgIHJlcG9zaXRvcnkuSW50ZXJSZXBvc2l0b3J5LnJlZ2lz
dGVyX29wdGltaXNlcihJbnRlclN0cmluZykKKyAgICAgICAgZHVtbXlfYSA9IER1bW15UmVwb3Np
dG9yeSgpCisgICAgICAgIGR1bW15X2IgPSBEdW1teVJlcG9zaXRvcnkoKQorICAgICAgICByZXBv
ID0gc2VsZi5tYWtlX3JlcG9zaXRvcnkoJy4nKQorICAgICAgICAjIGhhY2sgZHVtbWllcyB0byBs
b29rIGxpa2UgcmVwbyBzb21ld2hhdC4KKyAgICAgICAgZHVtbXlfYS5fc2VyaWFsaXplciA9IHJl
cG8uX3NlcmlhbGl6ZXIKKyAgICAgICAgZHVtbXlfYi5fc2VyaWFsaXplciA9IHJlcG8uX3Nlcmlh
bGl6ZXIKKyAgICAgICAgcmVwb3NpdG9yeS5JbnRlclJlcG9zaXRvcnkucmVnaXN0ZXJfb3B0aW1p
c2VyKEludGVyRHVtbXkpCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgICMgd2Ugc2hvdWxkIGdl
dCB0aGUgZGVmYXVsdCBmb3Igc29tZXRoaW5nIEludGVyU3RyaW5nIHJldHVybnMgRmFsc2UKKyAg
ICAgICAgICAgICMgd2Ugc2hvdWxkIGdldCB0aGUgZGVmYXVsdCBmb3Igc29tZXRoaW5nIEludGVy
RHVtbXkgcmV0dXJucyBGYWxzZQogICAgICAgICAgICAgIyB0bwotICAgICAgICAgICAgc2VsZi5h
c3NlcnRGYWxzZShJbnRlclN0cmluZy5pc19jb21wYXRpYmxlKGR1bW15X2EsIE5vbmUpKQotICAg
ICAgICAgICAgc2VsZi5hc3NlcnRHZXRzRGVmYXVsdEludGVyUmVwb3NpdG9yeShkdW1teV9hLCBO
b25lKQotICAgICAgICAgICAgIyBhbmQgd2Ugc2hvdWxkIGdldCBhbiBJbnRlclN0cmluZyBmb3Ig
YSBwYWlyIGl0ICdsaWtlcycKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShJbnRlclN0cmlu
Zy5pc19jb21wYXRpYmxlKGR1bW15X2EsIGR1bW15X2IpKQorICAgICAgICAgICAgc2VsZi5hc3Nl
cnRGYWxzZShJbnRlckR1bW15LmlzX2NvbXBhdGlibGUoZHVtbXlfYSwgcmVwbykpCisgICAgICAg
ICAgICBzZWxmLmFzc2VydEdldHNEZWZhdWx0SW50ZXJSZXBvc2l0b3J5KGR1bW15X2EsIHJlcG8p
CisgICAgICAgICAgICAjIGFuZCB3ZSBzaG91bGQgZ2V0IGFuIEludGVyRHVtbXkgZm9yIGEgcGFp
ciBpdCAnbGlrZXMnCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoSW50ZXJEdW1teS5pc19j
b21wYXRpYmxlKGR1bW15X2EsIGR1bW15X2IpKQogICAgICAgICAgICAgaW50ZXJfcmVwbyA9IHJl
cG9zaXRvcnkuSW50ZXJSZXBvc2l0b3J5LmdldChkdW1teV9hLCBkdW1teV9iKQotICAgICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChJbnRlclN0cmluZywgaW50ZXJfcmVwby5fX2NsYXNzX18pCisg
ICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEludGVyRHVtbXksIGludGVyX3JlcG8uX19jbGFz
c19fKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkdW1teV9hLCBpbnRlcl9yZXBvLnNv
dXJjZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZHVtbXlfYiwgaW50ZXJfcmVwby50
YXJnZXQpCiAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICByZXBvc2l0b3J5LkludGVyUmVw
b3NpdG9yeS51bnJlZ2lzdGVyX29wdGltaXNlcihJbnRlclN0cmluZykKKyAgICAgICAgICAgIHJl
cG9zaXRvcnkuSW50ZXJSZXBvc2l0b3J5LnVucmVnaXN0ZXJfb3B0aW1pc2VyKEludGVyRHVtbXkp
CiAgICAgICAgICMgbm93IHdlIHNob3VsZCBnZXQgdGhlIGRlZmF1bHQgSW50ZXJSZXBvc2l0b3J5
IG9iamVjdCBhZ2Fpbi4KICAgICAgICAgc2VsZi5hc3NlcnRHZXRzRGVmYXVsdEludGVyUmVwb3Np
dG9yeShkdW1teV9hLCBkdW1teV9iKQogCgo=
=== modified directory // last-changed:andrew.bennetts at canonical.com-200704110
... 54121-t3qnk4z25j27l7zc
# revision id: andrew.bennetts at canonical.com-20070411054121-t3qnk4z25j27l7zc
# sha1: f3d5dd4a5c62e514db1b8df27a6f89a7e781b561
# inventory sha1: 53e7f6b6312955a26ec956bd66319906acd1b0f5
# parent ids:
# andrew.bennetts at canonical.com-20070411053753-99pjtm3yfpj9amzz
# properties:
# branch-nick: supports-rich-root
# message:
# Merge from bzr.dev.
# committer: Andrew Bennetts <andrew.bennetts at canonical.com>
# date: Wed 2007-04-11 15:37:53.384000063 +1000
=== modified file bzrlib/repository.py // encoding:base64
LS0tIGJ6cmxpYi9yZXBvc2l0b3J5LnB5CisrKyBienJsaWIvcmVwb3NpdG9yeS5weQpAQCAtMTM0
MSwxNiArMTM0MSw5IEBACiAKICAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIGlzX2NvbXBhdGli
bGUoc291cmNlLCB0YXJnZXQpOgotICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShzb3VyY2UsIFJl
cG9zaXRvcnkpOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIGlmIG5vdCBpc2lu
c3RhbmNlKHRhcmdldCwgUmVwb3NpdG9yeSk6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAg
ICAgICAgaWYgc291cmNlLl9mb3JtYXQucmljaF9yb290X2RhdGEgIT0gdGFyZ2V0Ll9mb3JtYXQu
cmljaF9yb290X2RhdGE6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgaWYgc291
cmNlLl9zZXJpYWxpemVyICE9IHRhcmdldC5fc2VyaWFsaXplcjoKLSAgICAgICAgICAgIHJldHVy
biBGYWxzZQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIFRydWUgCisgICAgICAg
IGlmIHNvdXJjZS5zdXBwb3J0c19yaWNoX3Jvb3QoKSAhPSB0YXJnZXQuc3VwcG9ydHNfcmljaF9y
b290KCk6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIFRydWUKIAog
ICAgIEBuZWVkc193cml0ZV9sb2NrCiAgICAgZGVmIGNvcHlfY29udGVudChzZWxmLCByZXZpc2lv
bl9pZD1Ob25lKToKQEAgLTE1ODYsMTEgKzE1NzksNyBAQAogCiAgICAgQHN0YXRpY21ldGhvZAog
ICAgIGRlZiBpc19jb21wYXRpYmxlKHNvdXJjZSwgdGFyZ2V0KToKLSAgICAgICAgaWYgbm90IGlz
aW5zdGFuY2Uoc291cmNlLCBSZXBvc2l0b3J5KToKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQot
ICAgICAgICBpZiBub3QgaXNpbnN0YW5jZSh0YXJnZXQsIFJlcG9zaXRvcnkpOgotICAgICAgICAg
ICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIGlmIG5vdCBzb3VyY2UuX2Zvcm1hdC5yaWNoX3Jvb3Rf
ZGF0YSBhbmQgdGFyZ2V0Ll9mb3JtYXQucmljaF9yb290X2RhdGE6CisgICAgICAgIGlmIG5vdCBz
b3VyY2Uuc3VwcG9ydHNfcmljaF9yb290KCkgYW5kIHRhcmdldC5zdXBwb3J0c19yaWNoX3Jvb3Qo
KToKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBy
ZXR1cm4gRmFsc2UKCg==
=== modified directory // last-changed:andrew.bennetts at canonical.com-200704110
... 53753-99pjtm3yfpj9amzz
=== modified file bzrlib/tests/repository_implementations/test_commit_builder.p
... y // last-changed:andrew.bennetts at canonical.com-20070411053753-99pjtm3yfpj9
... amzz
=== modified file bzrlib/tests/repository_implementations/test_repository.py //
... last-changed:andrew.bennetts at canonical.com-20070411053753-99pjtm3yfpj9amzz
# revision id: andrew.bennetts at canonical.com-20070411053753-99pjtm3yfpj9amzz
# sha1: b35624ccfc06bdf1597e4e66a738448cec013b75
# inventory sha1: dd0b8eb0739e2297d353381b438c8f1a0421b10b
# parent ids:
# andrew.bennetts at canonical.com-20070301035839-mgsenxqgx4oveeob
# pqm at pqm.ubuntu.com-20070411022359-403a2155afb207cf
# properties:
# branch-nick: supports-rich-root
# message:
# Use repo.supports_rich_root() everywhere rather than
# repo._format.rich_root_data.
#
# This is needed for the smart server work, because a RemoteRepository's _format
# doesn't know whether or not the actual repository supports rich root data or
# not. But the RemoteRepository does (by asking the underlying repository it is
# connected to).
#
# This also removes some unnecessary isinstance(..., Repository), which also
# hinders smart server work, because RemoteRepository doesn't inherit from
# Repository, even though it implements the same interface.
#
# committer: Andrew Bennetts <andrew.bennetts at canonical.com>
# date: Thu 2007-03-01 14:58:39.548000097 +1100
=== modified file bzrlib/repository.py // encoding:base64
LS0tIGJ6cmxpYi9yZXBvc2l0b3J5LnB5CisrKyBienJsaWIvcmVwb3NpdG9yeS5weQpAQCAtMTMz
MCwxMSArMTMzMCw3IEBACiAKICAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIGlzX2NvbXBhdGli
bGUoc291cmNlLCB0YXJnZXQpOgotICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShzb3VyY2UsIFJl
cG9zaXRvcnkpOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIGlmIG5vdCBpc2lu
c3RhbmNlKHRhcmdldCwgUmVwb3NpdG9yeSk6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAg
ICAgICAgaWYgc291cmNlLl9mb3JtYXQucmljaF9yb290X2RhdGEgPT0gdGFyZ2V0Ll9mb3JtYXQu
cmljaF9yb290X2RhdGE6CisgICAgICAgIGlmIHNvdXJjZS5zdXBwb3J0c19yaWNoX3Jvb3QoKSA9
PSB0YXJnZXQuc3VwcG9ydHNfcmljaF9yb290KCk6CiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQog
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCkBAIC0xNTg3LDExICsxNTgz
LDcgQEAKIAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgaXNfY29tcGF0aWJsZShzb3VyY2Us
IHRhcmdldCk6Ci0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHNvdXJjZSwgUmVwb3NpdG9yeSk6
Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UodGFy
Z2V0LCBSZXBvc2l0b3J5KToKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICBpZiBu
b3Qgc291cmNlLl9mb3JtYXQucmljaF9yb290X2RhdGEgYW5kIHRhcmdldC5fZm9ybWF0LnJpY2hf
cm9vdF9kYXRhOgorICAgICAgICBpZiBub3Qgc291cmNlLnN1cHBvcnRzX3JpY2hfcm9vdCgpIGFu
ZCB0YXJnZXQuc3VwcG9ydHNfcmljaF9yb290KCk6CiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQog
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCgo=
=== modified file bzrlib/tests/repository_implementations/test_commit_builder.p
... y // encoding:base64
LS0tIGJ6cmxpYi90ZXN0cy9yZXBvc2l0b3J5X2ltcGxlbWVudGF0aW9ucy90ZXN0X2NvbW1pdF9i
dWlsZGVyLnB5CisrKyBienJsaWIvdGVzdHMvcmVwb3NpdG9yeV9pbXBsZW1lbnRhdGlvbnMvdGVz
dF9jb21taXRfYnVpbGRlci5weQpAQCAtODIsNyArODIsNyBAQAogICAgIGRlZiB0ZXN0X2NvbW1p
dF93aXRob3V0X3Jvb3Qoc2VsZik6CiAgICAgICAgICIiIlRoaXMgc2hvdWxkIGNhdXNlIGEgZGVw
cmVjYXRpb24gd2FybmluZywgbm90IGFuIGFzc2VydGlvbiBmYWlsdXJlIiIiCiAgICAgICAgIHRy
ZWUgPSBzZWxmLm1ha2VfYnJhbmNoX2FuZF90cmVlKCIuIikKLSAgICAgICAgaWYgdHJlZS5icmFu
Y2gucmVwb3NpdG9yeS5fZm9ybWF0LnJpY2hfcm9vdF9kYXRhOgorICAgICAgICBpZiB0cmVlLmJy
YW5jaC5yZXBvc2l0b3J5LnN1cHBvcnRzX3JpY2hfcm9vdCgpOgogICAgICAgICAgICAgcmFpc2Ug
dGVzdHMuVGVzdFNraXBwZWQoJ0Zvcm1hdCByZXF1aXJlcyByb290JykKICAgICAgICAgc2VsZi5i
dWlsZF90cmVlKFsnZm9vJ10pCiAgICAgICAgIHRyZWUuYWRkKCdmb28nLCAnZm9vLWlkJykKCg==
=== modified file bzrlib/tests/repository_implementations/test_repository.py //
... encoding:base64
LS0tIGJ6cmxpYi90ZXN0cy9yZXBvc2l0b3J5X2ltcGxlbWVudGF0aW9ucy90ZXN0X3JlcG9zaXRv
cnkucHkKKysrIGJ6cmxpYi90ZXN0cy9yZXBvc2l0b3J5X2ltcGxlbWVudGF0aW9ucy90ZXN0X3Jl
cG9zaXRvcnkucHkKQEAgLTE4MSw4ICsxODEsOCBAQAogICAgICAgICB0cmVlX2EuY29tbWl0KCdy
ZXYxJywgcmV2X2lkPSdyZXYxJykKICAgICAgICAgIyBmZXRjaCB3aXRoIGEgZGVmYXVsdCBsaW1p
dCAoZ3JhYiBldmVyeXRoaW5nKQogICAgICAgICByZXBvID0gYnpyZGlyLkJ6ckRpci5jcmVhdGVf
cmVwb3NpdG9yeShzZWxmLmdldF91cmwoJ2InKSkKLSAgICAgICAgaWYgKHRyZWVfYS5icmFuY2gu
cmVwb3NpdG9yeS5fZm9ybWF0LnJpY2hfcm9vdF9kYXRhIGFuZCBub3QKLSAgICAgICAgICAgIHJl
cG8uX2Zvcm1hdC5yaWNoX3Jvb3RfZGF0YSk6CisgICAgICAgIGlmICh0cmVlX2EuYnJhbmNoLnJl
cG9zaXRvcnkuc3VwcG9ydHNfcmljaF9yb290KCkgYW5kIG5vdAorICAgICAgICAgICAgcmVwby5z
dXBwb3J0c19yaWNoX3Jvb3QoKSk6CiAgICAgICAgICAgICByYWlzZSBUZXN0U2tpcHBlZCgnQ2Fu
bm90IGZldGNoIGZyb20gbW9kZWwyIHRvIG1vZGVsMScpCiAgICAgICAgIHJlcG8uZmV0Y2godHJl
ZV9hLmJyYW5jaC5yZXBvc2l0b3J5LAogICAgICAgICAgICAgICAgICAgIHJldmlzaW9uX2lkPU5v
bmUsCgo=
=== modified directory // last-changed:andrew.bennetts at canonical.com-200703010
... 35839-mgsenxqgx4oveeob
# revision id: andrew.bennetts at canonical.com-20070301035839-mgsenxqgx4oveeob
# sha1: 77f3c8ae7e20ef8b6f2d8810ed930ce272c25b68
# inventory sha1: 5d9b99d7fca80880d1b1101c54713200b3787e7d
# parent ids:
# pqm at pqm.ubuntu.com-20070228211048-30e18ddd8dd9c205
# properties:
# branch-nick: supports-rich-root
More information about the bazaar
mailing list