]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'ps/odb-source-packed' into ps/odb-drop-whence
authorJunio C Hamano <gitster@pobox.com>
Wed, 24 Jun 2026 17:12:12 +0000 (10:12 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 24 Jun 2026 17:12:12 +0000 (10:12 -0700)
* ps/odb-source-packed:
  odb/source-packed: drop pointer to "files" parent source
  midx: refactor interfaces to work on "packed" source
  odb/source-packed: stub out remaining functions
  odb/source-packed: wire up `freshen_object()` callback
  odb/source-packed: wire up `find_abbrev_len()` callback
  odb/source-packed: wire up `count_objects()` callback
  odb/source-packed: wire up `for_each_object()` callback
  odb/source-packed: wire up `read_object_stream()` callback
  odb/source-packed: wire up `read_object_info()` callback
  packfile: use higher-level interface to implement `has_object_pack()`
  odb/source-packed: wire up `reprepare()` callback
  odb/source-packed: wire up `close()` callback
  odb/source-packed: start converting to a proper `struct odb_source`
  odb/source-packed: store pointer to "files" instead of generic source
  packfile: move packed source into "odb/" subsystem
  packfile: split out packfile list logic
  packfile: rename `struct packfile_store` to `odb_source_packed`

1  2 
Makefile
builtin/cat-file.c
builtin/grep.c
builtin/pack-objects.c
commit-graph.c
midx-write.c
odb/source.h
pack-bitmap.c
packfile.c
packfile.h

diff --cc Makefile
Simple merge
Simple merge
diff --cc builtin/grep.c
Simple merge
Simple merge
diff --cc commit-graph.c
Simple merge
diff --cc midx-write.c
Simple merge
diff --cc odb/source.h
Simple merge
diff --cc pack-bitmap.c
Simple merge
diff --cc packfile.c
Simple merge
diff --cc packfile.h
index defb6f442cca09924bc135b770d95dc33bc078b2,71a71017ee1058443902369a181e1e7732ae0454..2329a697014a6685f4e9f7de29267c19b050ef9f
@@@ -454,11 -292,14 +292,15 @@@ off_t nth_packed_object_offset(const st
   */
  off_t find_pack_entry_one(const struct object_id *oid, struct packed_git *);
  
+ int packfile_fill_entry(struct packed_git *p,
+                       const struct object_id *oid,
+                       struct pack_entry *e);
  int is_pack_valid(struct packed_git *);
 -void *unpack_entry(struct repository *r, struct packed_git *, off_t, enum object_type *, unsigned long *);
 +void *unpack_entry(struct repository *r, struct packed_git *, off_t,
 +                 enum object_type *, size_t *);
  unsigned long unpack_object_header_buffer(const unsigned char *buf, unsigned long len, enum object_type *type, size_t *sizep);
 -unsigned long get_size_from_delta(struct packed_git *, struct pack_window **, off_t);
 +size_t get_size_from_delta(struct packed_git *, struct pack_window **, off_t);
  int unpack_object_header(struct packed_git *, struct pack_window **, off_t *, size_t *);
  off_t get_delta_base(struct packed_git *p, struct pack_window **w_curs,
                     off_t *curpos, enum object_type type,