commit e83796cd9460011925157f39aa0eb1ab105e16c2 from: Jelmer Vernooij date: Mon Mar 13 23:54:55 2023 UTC Fix fetching into MemoryRepo Fixes #1157 commit - 285836e91a75e1cffa163fe443ceb6a2221e805e commit + e83796cd9460011925157f39aa0eb1ab105e16c2 blob - 5be4952673eb40b1cf7cc9c1dde1ebc55225ecfa blob + 43ced4d67ba8e0cf0069e523d5112f6b9d8e6d77 --- NEWS +++ NEWS @@ -1,6 +1,8 @@ 0.21.4 UNRELEASED * Deprecate ``dulwich.objects.parse_commit``. + + * Fix fetching into MemoryRepo. (Jelmer Vernooij, #1157) 0.21.3 2023-02-17 blob - 8888696eb32096633c2186145ded8b46ab4e66d2 blob + 4446c75932bed0a4940a1c23faeb9468ff51b542 --- dulwich/object_store.py +++ dulwich/object_store.py @@ -1047,6 +1047,16 @@ class MemoryObjectStore(BaseObjectStore): f.close() return f, commit, abort + + def add_pack_data(self, count: int, unpacked_objects: Iterator[UnpackedObject], progress=None) -> None: + """Add pack data to this object store. + + Args: + count: Number of items to add + pack_data: Iterator over pack data tuples + """ + for unpacked_object in unpacked_objects: + self.add_object(unpacked_object.sha_file()) def add_thin_pack(self, read_all, read_some, progress=None): """Add a new thin pack to this object store. blob - 7fa631a1860cb55b048412d26832e9334948f493 blob + bcb827796de11c271ad45a28261de67c0b6c6d27 --- dulwich/tests/test_repository.py +++ dulwich/tests/test_repository.py @@ -123,6 +123,12 @@ class MemoryRepoTests(TestCase): description = b"Some description" r.set_description(description) self.assertEqual(description, r.get_description()) + + def test_pull_into(self): + r = MemoryRepo.init_bare([], {}) + repo = open_repo("a.git") + self.addCleanup(tear_down_repo, repo) + repo.fetch(r) class RepositoryRootTests(TestCase):