aboutsummaryrefslogtreecommitdiff
path: root/odb/source.h
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2026-03-05 15:19:42 +0100
committerJunio C Hamano <gitster@pobox.com>2026-03-05 11:45:14 -0800
commitcb506a8a69c953f7b87bb3ae099e0bed8218d3ab (patch)
tree2b469f6c020f5fc1889a01754ed99443085eeb61 /odb/source.h
parentba1c21d34346e5979f9308806274bfcda4949ad4 (diff)
downloadgit-cb506a8a69c953f7b87bb3ae099e0bed8218d3ab.tar.xz
odb: introduce "files" source
Introduce a new "files" object database source. This source encapsulates access to both loose object files and the packfile store, similar to how the "files" backend for refs encapsulates access to loose refs and the packed-refs file. Note that for now the "files" source is still a direct member of a `struct odb_source`. This architecture will be reversed in the next commit so that the files source contains a `struct odb_source`. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'odb/source.h')
-rw-r--r--odb/source.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/odb/source.h b/odb/source.h
index 391d6d1e38..1c34265189 100644
--- a/odb/source.h
+++ b/odb/source.h
@@ -1,6 +1,8 @@
#ifndef ODB_SOURCE_H
#define ODB_SOURCE_H
+#include "odb/source-files.h"
+
/*
* The source is the part of the object database that stores the actual
* objects. It thus encapsulates the logic to read and write the specific
@@ -19,11 +21,8 @@ struct odb_source {
/* Object database that owns this object source. */
struct object_database *odb;
- /* Private state for loose objects. */
- struct odb_source_loose *loose;
-
- /* Should only be accessed directly by packfile.c and midx.c. */
- struct packfile_store *packfiles;
+ /* The backend used to store objects. */
+ struct odb_source_files *files;
/*
* Figure out whether this is the local source of the owning