object-store: move object access functions to object-store.h
[gitweb.git] / repository.h
index f21fd93f722714617f0b6f2419c25d34a90311de..6d199819905f2a9f8334e496f2caf35a3546420c 100644 (file)
@@ -2,9 +2,10 @@
 #define REPOSITORY_H
 
 struct config_set;
+struct git_hash_algo;
 struct index_state;
+struct raw_object_store;
 struct submodule_cache;
-struct git_hash_algo;
 
 struct repository {
        /* Environment */
@@ -21,13 +22,21 @@ struct repository {
        char *commondir;
 
        /*
-        * Path to the repository's object store.
-        * Cannot be NULL after initialization.
+        * Holds any information related to accessing the raw object content.
+        */
+       struct raw_object_store *objects;
+
+       /*
+        * All objects in this repository that have been parsed. This structure
+        * owns all objects it references, so users of "struct object *"
+        * generally do not need to free them; instead, when a repository is no
+        * longer used, call parsed_object_pool_clear() on this structure, which
+        * is called by the repositories repo_clear on its desconstruction.
         */
-       char *objectdir;
+       struct parsed_object_pool *parsed_objects;
 
-       /* Path to extra alternate object database if not NULL */
-       char *alternate_db;
+       /* The store in which the refs are held. */
+       struct ref_store *refs;
 
        /*
         * Path to the repository's graft file.