aboutsummaryrefslogtreecommitdiffstats
path: root/object-store-ll.h
diff options
context:
space:
mode:
Diffstat (limited to 'object-store-ll.h')
-rw-r--r--object-store-ll.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/object-store-ll.h b/object-store-ll.h
index 8bb0f33f9a..bb5e8798a1 100644
--- a/object-store-ll.h
+++ b/object-store-ll.h
@@ -151,6 +151,8 @@ static inline int pack_map_entry_cmp(const void *cmp_data UNUSED,
return strcmp(pg1->pack_name, key ? key : pg2->pack_name);
}
+struct cached_object_entry;
+
struct raw_object_store {
/*
* Set of all object directories; the main directory is first (and
@@ -204,6 +206,15 @@ struct raw_object_store {
} kept_pack_cache;
/*
+ * This is meant to hold a *small* number of objects that you would
+ * want repo_read_object_file() to be able to return, but yet you do not want
+ * to write them into the object store (e.g. a browse-only
+ * application).
+ */
+ struct cached_object_entry *cached_objects;
+ size_t cached_object_nr, cached_object_alloc;
+
+ /*
* A map of packfiles to packed_git structs for tracking which
* packs have been loaded already.
*/
@@ -272,7 +283,8 @@ void hash_object_file(const struct git_hash_algo *algo, const void *buf,
* object in persistent storage before writing any other new objects
* that reference it.
*/
-int pretend_object_file(void *, unsigned long, enum object_type,
+int pretend_object_file(struct repository *repo,
+ void *buf, unsigned long len, enum object_type type,
struct object_id *oid);
struct object_info {