#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 */
char *commondir;
/*
- * Path to the repository's object store.
- * Cannot be NULL after initialization.
+ * Holds any information related to accessing the raw object content.
*/
- char *objectdir;
-
- /* Path to extra alternate object database if not NULL */
- char *alternate_db;
+ struct raw_object_store *objects;
/*
* Path to the repository's graft file.
extern struct repository *the_repository;
+/*
+ * Define a custom repository layout. Any field can be NULL, which
+ * will default back to the path according to the default layout.
+ */
struct set_gitdir_args {
const char *commondir;
const char *object_dir;
extern void repo_set_gitdir(struct repository *repo,
const char *root,
- const struct set_gitdir_args *optional);
+ const struct set_gitdir_args *extra_args);
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);