const struct git_hash_algo *hash_algo;
/* Configurations */
- /*
- * Bit used during initialization to indicate if repository state (like
- * the location of the 'objectdir') should be read from the
- * environment. By default this bit will be set at the begining of
- * 'repo_init()' so that all repositories will ignore the environment.
- * The exception to this is 'the_repository', which doesn't go through
- * the normal 'repo_init()' process.
- */
- unsigned ignore_env:1;
/* Indicate if a repository has a different 'commondir' from 'gitdir' */
unsigned different_commondir:1;
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);