Przeglądaj źródła

Add (non-working) brain dump of what delta picking might look like

John Carr 16 lat temu
rodzic
commit
fba7a2e205
1 zmienionych plików z 8 dodań i 3 usunięć
  1. 8 3
      dulwich/pack.py

+ 8 - 3
dulwich/pack.py

@@ -604,9 +604,14 @@ def write_pack_data(f, objects, num_objects):
     for o in recency:
         sha1 = o.sha().digest()
         crc32 = o.crc32()
-        # FIXME: Delta !
-        t, o = o.as_raw_string()
-        offset = write_pack_object(f, t, o)
+        t, raw = o.as_raw_string()
+        winner = raw
+        for i in range(10):
+            base = magic[offs[sha1] - i]
+            delta = create_delta(base, raw)
+            if len(delta) < len(winner):
+                winner = delta
+        offset = write_pack_object(f, t, raw)
         entries.append((sha1, offset, crc32))
     return entries, f.write_sha()