Rev 2613: Add tests for partial sprouting/fetching of repositories. in file:///data/jelmer/bzr/shallow/

Jelmer Vernooij jelmer at samba.org
Fri Jul 13 12:03:12 BST 2007


At file:///data/jelmer/bzr/shallow/

------------------------------------------------------------
revno: 2613
revision-id: jelmer at samba.org-20070713085323-7muz1iknfefj6kw3
parent: jelmer at samba.org-20070712164043-p6uvi4gfoi0ysdk1
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: shallow
timestamp: Fri 2007-07-13 11:53:23 +0300
message:
  Add tests for partial sprouting/fetching of repositories.
modified:
  bzrlib/tests/interrepository_implementations/test_interrepository.py test_interrepository.py-20060220061411-1ec13fa99e5e3eee
  bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
=== modified file 'bzrlib/tests/interrepository_implementations/test_interrepository.py'
--- a/bzrlib/tests/interrepository_implementations/test_interrepository.py	2007-03-07 01:54:13 +0000
+++ b/bzrlib/tests/interrepository_implementations/test_interrepository.py	2007-07-13 08:53:23 +0000
@@ -225,6 +225,23 @@
         to_repo = self.make_to_repository('to')
         to_repo.fetch(from_tree.branch.repository, from_tree.last_revision())
 
+    def test_fetch_partial(self):
+        """Test partial fetching."""
+        from_tree = self.make_branch_and_tree('tree')
+        self.build_tree(['tree/filename'])
+        from_tree.add('filename')
+        rev1 = from_tree.commit('commit filename')
+        from_tree.bzrdir.transport.clone('..').put_bytes('filename', 'volume')
+        rev2 = from_tree.commit('commit filename update')
+        to_repo = self.make_to_repository('to')
+        try:
+            to_repo.fetch(from_tree.branch.repository, 
+                          limit_to_revisions=set([rev2]))
+        except errors.PartialCloningNotSupported:
+            return # Not all repositories support partial cloning
+        self.assertTrue(to_repo.has_revision(rev2))
+        self.assertFalse(to_repo.has_revision(rev1))
+
 
 class TestCaseWithComplexRepository(TestCaseWithInterRepository):
 

=== modified file 'bzrlib/tests/repository_implementations/test_repository.py'
--- a/bzrlib/tests/repository_implementations/test_repository.py	2007-06-22 05:05:22 +0000
+++ b/bzrlib/tests/repository_implementations/test_repository.py	2007-07-13 08:53:23 +0000
@@ -472,6 +472,24 @@
         repo.lock_read()
         repo.unlock()
 
+    def test_sprout_partial(self):
+        """Test partial sprouting."""
+        # Tested here because it tests code in InterRepository
+        from_tree = self.make_branch_and_tree('tree')
+        self.build_tree(['tree/filename'])
+        from_tree.add('filename')
+        rev1 = from_tree.commit('commit filename')
+        from_tree.bzrdir.transport.clone('..').put_bytes('filename', 'volume')
+        rev2 = from_tree.commit('commit filename update')
+        to_dir = self.make_bzrdir('to')
+        try:
+            from_tree.branch.repository.sprout(to_dir, limit_to_revisions=set([rev2]))
+        except errors.PartialCloningNotSupported:
+            return # Not all repositories support partial cloning
+        to_repo = to_dir.open_repository()
+        self.assertTrue(to_repo.has_revision(rev2))
+        self.assertFalse(to_repo.has_revision(rev1))
+
 
 class TestCaseWithComplexRepository(TestCaseWithRepository):
 




More information about the bazaar-commits mailing list