]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'ps/packfile-store-in-odb-source' into seen
authorJunio C Hamano <gitster@pobox.com>
Tue, 23 Dec 2025 14:12:50 +0000 (23:12 +0900)
committerJunio C Hamano <gitster@pobox.com>
Tue, 23 Dec 2025 14:12:50 +0000 (23:12 +0900)
The packfile_store data structure is moved from object store to odb
source.

Comments?

* ps/packfile-store-in-odb-source:
  packfile: move MIDX into packfile store
  packfile: refactor `find_pack_entry()` to work on the packfile store
  packfile: inline `find_kept_pack_entry()`
  packfile: only prepare owning store in `packfile_store_prepare()`
  packfile: only prepare owning store in `packfile_store_get_packs()`
  packfile: move packfile store into object source
  packfile: refactor misleading code when unusing pack windows
  packfile: refactor kept-pack cache to work with packfile stores
  packfile: pass source to `prepare_pack()`
  packfile: create store via its owning source

1  2 
builtin/fast-import.c
builtin/pack-objects.c
midx.c
odb.c
odb.h
packfile.c
packfile.h

Simple merge
Simple merge
diff --cc midx.c
Simple merge
diff --cc odb.c
Simple merge
diff --cc odb.h
Simple merge
diff --cc packfile.c
index 79cea97f351f62a33878b08e103b390f755f474c,097dd8d85d374ee65776f757c44389be4fa7490b..402c3b5dc731318a8faed0dae320172958191558
@@@ -2157,10 -2132,11 +2151,10 @@@ int packfile_store_read_object_info(str
                                    struct object_info *oi,
                                    unsigned flags UNUSED)
  {
 -      static struct object_info blank_oi = OBJECT_INFO_INIT;
        struct pack_entry e;
 -      int rtype;
 +      int ret;
  
-       if (!find_pack_entry(store->odb->repo, oid, &e))
+       if (!find_pack_entry(store, oid, &e))
                return 1;
  
        /*
@@@ -2545,9 -2554,8 +2566,9 @@@ int packfile_store_read_object_stream(s
        oi.sizep = &size;
  
        if (packfile_store_read_object_info(store, oid, &oi, 0) ||
 -          oi.u.packed.is_delta ||
 +          oi.u.packed.type == PACKED_OBJECT_TYPE_REF_DELTA ||
 +          oi.u.packed.type == PACKED_OBJECT_TYPE_OFS_DELTA ||
-           repo_settings_get_big_file_threshold(store->odb->repo) >= size)
+           repo_settings_get_big_file_threshold(store->source->odb->repo) >= size)
                return -1;
  
        in_pack_type = unpack_object_header(oi.u.packed.pack,
diff --cc packfile.h
Simple merge