Browse Source

Pass long reuse_pack.

Jelmer Vernooij 2 years ago
parent
commit
68564db473
2 changed files with 7 additions and 4 deletions
  1. 1 1
      dulwich/client.py
  2. 6 3
      dulwich/pack.py

+ 1 - 1
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):

+ 6 - 3
dulwich/pack.py

@@ -1626,9 +1626,11 @@ def write_pack_object(write, type, object, sha=None, compression_level=-1):
 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: