All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/13] Carve out loose object source
@ 2025-10-24  9:55 Patrick Steinhardt
  2025-10-24  9:56 ` [PATCH 01/13] odb: fix subtle logic to check whether an alternate is usable Patrick Steinhardt
                   ` (15 more replies)
  0 siblings, 16 replies; 58+ messages in thread
From: Patrick Steinhardt @ 2025-10-24  9:55 UTC (permalink / raw)
  To: git

Hi,

this patch series carves out loose object sources. The idea is to store
all data that relates to loose objects in a single structure, similar to
our `struct packfile_store`.

The series is structured as follows:

  - Patches 1 to 4 perform some cleanups in the vicinity of object
    databases.

  - Patches 5 to 8 create a new `struct odb_loose_source` and move all
    state that is specific to loose objects into it.

  - Patches 9 to 13 then adjust functions to work on top of that new
    structure.

The motivation here is to make handling of loose objects completely
self-contained as a step towards pluggable object databases.

Thanks!

Patrick

---
Patrick Steinhardt (13):
      odb: fix subtle logic to check whether an alternate is usable
      odb: introduce `odb_source_new()`
      odb: adjust naming to free object sources
      object-file: move `fetch_if_missing`
      object-file: introduce `struct odb_loose_source`
      object-file: move loose object cache into loose source
      object-file: hide internals when we need to reprepare loose sources
      object-file: move loose object map into loose source
      object-file: read objects via the loose object source
      object-file: rename `has_loose_object()`
      object-file: refactor freshening of objects
      object-file: rename `write_object_file()`
      object-file: refactor writing objects via a stream

 builtin/pack-objects.c   |   4 +-
 builtin/unpack-objects.c |   7 +-
 loose.c                  |  19 ++---
 object-file.c            | 175 +++++++++++++++++++++--------------------------
 object-file.h            |  98 ++++++++++++++------------
 object-name.c            |   2 +-
 odb.c                    | 104 +++++++++++++++++++---------
 odb.h                    |  41 +++++++----
 packfile.c               |  16 +++++
 packfile.h               |   3 +
 repository.c             |  14 ++--
 streaming.c              |  11 ++-
 12 files changed, 287 insertions(+), 207 deletions(-)


---
base-commit: c54a18ef67e59cdbcd77d6294916d42c98c62d1d
change-id: 20251017-b4-pks-odb-loose-backend-b1e003c41107


^ permalink raw reply	[flat|nested] 58+ messages in thread

end of thread, other threads:[~2025-11-03 13:39 UTC | newest]

Thread overview: 58+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-24  9:55 [PATCH 00/13] Carve out loose object source Patrick Steinhardt
2025-10-24  9:56 ` [PATCH 01/13] odb: fix subtle logic to check whether an alternate is usable Patrick Steinhardt
2025-10-24 16:21   ` Junio C Hamano
2025-10-30 10:34   ` Karthik Nayak
2025-10-24  9:56 ` [PATCH 02/13] odb: introduce `odb_source_new()` Patrick Steinhardt
2025-10-24 16:37   ` Junio C Hamano
2025-10-27 11:21     ` Patrick Steinhardt
2025-10-24  9:56 ` [PATCH 03/13] odb: adjust naming to free object sources Patrick Steinhardt
2025-10-30 10:41   ` Karthik Nayak
2025-10-24  9:56 ` [PATCH 04/13] object-file: move `fetch_if_missing` Patrick Steinhardt
2025-10-24  9:56 ` [PATCH 05/13] object-file: introduce `struct odb_loose_source` Patrick Steinhardt
2025-10-30 10:47   ` Karthik Nayak
2025-10-30 11:32     ` Patrick Steinhardt
2025-10-31  6:11       ` Patrick Steinhardt
2025-10-31 16:16         ` Junio C Hamano
2025-11-03  7:19           ` Patrick Steinhardt
2025-10-31 16:10       ` Junio C Hamano
2025-10-24  9:56 ` [PATCH 06/13] object-file: move loose object cache into loose source Patrick Steinhardt
2025-10-24 21:44   ` Junio C Hamano
2025-10-27 11:21     ` Patrick Steinhardt
2025-10-24  9:56 ` [PATCH 07/13] object-file: hide internals when we need to reprepare loose sources Patrick Steinhardt
2025-10-24  9:56 ` [PATCH 08/13] object-file: move loose object map into loose source Patrick Steinhardt
2025-10-24  9:56 ` [PATCH 09/13] object-file: read objects via the loose object source Patrick Steinhardt
2025-10-30 12:19   ` Karthik Nayak
2025-10-24  9:56 ` [PATCH 10/13] object-file: rename `has_loose_object()` Patrick Steinhardt
2025-10-24  9:56 ` [PATCH 11/13] object-file: refactor freshening of objects Patrick Steinhardt
2025-10-24  9:56 ` [PATCH 12/13] object-file: rename `write_object_file()` Patrick Steinhardt
2025-10-24  9:56 ` [PATCH 13/13] object-file: refactor writing objects via a stream Patrick Steinhardt
2025-10-30 12:24 ` [PATCH 00/13] Carve out loose object source Karthik Nayak
2025-10-31  6:12 ` [PATCH v2 " Patrick Steinhardt
2025-10-31  6:12   ` [PATCH v2 01/13] odb: fix subtle logic to check whether an alternate is usable Patrick Steinhardt
2025-10-31  6:12   ` [PATCH v2 02/13] odb: introduce `odb_source_new()` Patrick Steinhardt
2025-10-31  6:12   ` [PATCH v2 03/13] odb: adjust naming to free object sources Patrick Steinhardt
2025-10-31  6:12   ` [PATCH v2 04/13] object-file: move `fetch_if_missing` Patrick Steinhardt
2025-10-31  6:12   ` [PATCH v2 05/13] object-file: introduce `struct odb_loose_source` Patrick Steinhardt
2025-10-31  6:12   ` [PATCH v2 06/13] object-file: move loose object cache into loose source Patrick Steinhardt
2025-10-31  6:12   ` [PATCH v2 07/13] object-file: hide internals when we need to reprepare loose sources Patrick Steinhardt
2025-10-31  6:12   ` [PATCH v2 08/13] object-file: move loose object map into loose source Patrick Steinhardt
2025-10-31  6:12   ` [PATCH v2 09/13] object-file: read objects via the loose object source Patrick Steinhardt
2025-10-31  6:12   ` [PATCH v2 10/13] object-file: rename `has_loose_object()` Patrick Steinhardt
2025-10-31  6:12   ` [PATCH v2 11/13] object-file: refactor freshening of objects Patrick Steinhardt
2025-10-31  6:12   ` [PATCH v2 12/13] object-file: rename `write_object_file()` Patrick Steinhardt
2025-10-31  6:12   ` [PATCH v2 13/13] object-file: refactor writing objects via a stream Patrick Steinhardt
2025-11-03  7:41 ` [PATCH v3 00/13] Carve out loose object source Patrick Steinhardt
2025-11-03  7:41   ` [PATCH v3 01/13] odb: fix subtle logic to check whether an alternate is usable Patrick Steinhardt
2025-11-03  7:41   ` [PATCH v3 02/13] odb: introduce `odb_source_new()` Patrick Steinhardt
2025-11-03  7:41   ` [PATCH v3 03/13] odb: adjust naming to free object sources Patrick Steinhardt
2025-11-03  7:41   ` [PATCH v3 04/13] object-file: move `fetch_if_missing` Patrick Steinhardt
2025-11-03  7:42   ` [PATCH v3 05/13] object-file: introduce `struct odb_source_loose` Patrick Steinhardt
2025-11-03  7:42   ` [PATCH v3 06/13] object-file: move loose object cache into loose source Patrick Steinhardt
2025-11-03  7:42   ` [PATCH v3 07/13] object-file: hide internals when we need to reprepare loose sources Patrick Steinhardt
2025-11-03  7:42   ` [PATCH v3 08/13] object-file: move loose object map into loose source Patrick Steinhardt
2025-11-03  7:42   ` [PATCH v3 09/13] object-file: read objects via the loose object source Patrick Steinhardt
2025-11-03  7:42   ` [PATCH v3 10/13] object-file: rename `has_loose_object()` Patrick Steinhardt
2025-11-03  7:42   ` [PATCH v3 11/13] object-file: refactor freshening of objects Patrick Steinhardt
2025-11-03  7:42   ` [PATCH v3 12/13] object-file: rename `write_object_file()` Patrick Steinhardt
2025-11-03  7:42   ` [PATCH v3 13/13] object-file: refactor writing objects via a stream Patrick Steinhardt
2025-11-03 13:39   ` [PATCH v3 00/13] Carve out loose object source Karthik Nayak

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.