*/
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.
+ */
+ struct parsed_object_pool *parsed_objects;
+
+ /* The store in which the refs are held. */
+ struct ref_store *refs;
+
+ /*
+ * Contains path to often used file names.
+ */
+ struct path_cache cached_paths;
+
/*
* Path to the repository's graft file.
* Cannot be NULL after initialization.
extern void repo_set_worktree(struct repository *repo, const char *path);
extern void repo_set_hash_algo(struct repository *repo, int algo);
extern void initialize_the_repository(void);
+extern int repo_init(struct repository *r,
+ const char *gitdir,
+ const char *worktree);
extern int repo_submodule_init(struct repository *submodule,
struct repository *superproject,
const char *path);