Commit Diff


commit - 92136807e3233770aa60cf6b065902b44edd3006
commit + 68564db4734e20bb8ae1024885f63df89dcdd13e
blob - 826a256fece608a2d36504fb8d0316b131b2e54f
blob + 7cac9efeac492f03ef01fdb19e098b744cf1d0e6
--- dulwich/client.py
+++ dulwich/client.py
@@ -1543,7 +1543,7 @@ class LocalGitClient(GitClient):
             # Note that the client still expects a 0-object pack in most cases.
             if objects_iter is None:
                 return FetchPackResult(None, symrefs, agent)
-            write_pack_objects(pack_data, objects_iter)
+            write_pack_objects(pack_data, objects_iter, reuse_pack=r.object_store)
             return FetchPackResult(r.get_refs(), symrefs, agent)
 
     def get_refs(self, path):
blob - c6ae776bae126e13346f127397cef7572fa9cc17
blob + f10062ee7fdd771f4cb32539ed5d48107328e01f
--- dulwich/pack.py
+++ dulwich/pack.py
@@ -1626,9 +1626,11 @@ def write_pack_object(write, type, object, sha=None, c
 def write_pack(
     filename,
     objects,
-    deltify=None,
-    delta_window_size=None,
-    compression_level=-1,
+    *,
+    deltify: Optional[bool] = None,
+    delta_window_size: Optional[int] = None,
+    compression_level: int = -1,
+    reuse_pack: Optional[PackedObjectContainer] = None):
 ):
     """Write a new pack data file.
 
@@ -1647,6 +1649,7 @@ def write_pack(
             delta_window_size=delta_window_size,
             deltify=deltify,
             compression_level=compression_level,
+            reuse_pack=reuse_pack,
         )
     entries = sorted([(k, v[0], v[1]) for (k, v) in entries.items()])
     with GitFile(filename + ".idx", "wb") as f: