init-db, clone: change unnecessary global into passed parameter
Much like the parent commit, this commit was prompted by a desire to move the functions which builtin/init-db.c and builtin/clone.c share out of the former file and into setup.c. A secondary issue that made it difficult was the init_shared_repository global variable; replace it with a simple parameter that is passed to the relevant functions. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
d404ac1027
commit
0a76a5fb02
@ -930,6 +930,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
|
|||||||
int submodule_progress;
|
int submodule_progress;
|
||||||
int filter_submodules = 0;
|
int filter_submodules = 0;
|
||||||
int hash_algo;
|
int hash_algo;
|
||||||
|
const int do_not_override_repo_unix_permissions = -1;
|
||||||
|
|
||||||
struct transport_ls_refs_options transport_ls_refs_options =
|
struct transport_ls_refs_options transport_ls_refs_options =
|
||||||
TRANSPORT_LS_REFS_OPTIONS_INIT;
|
TRANSPORT_LS_REFS_OPTIONS_INIT;
|
||||||
@ -1097,7 +1098,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
|
|||||||
}
|
}
|
||||||
|
|
||||||
init_db(git_dir, real_git_dir, option_template, GIT_HASH_UNKNOWN, NULL,
|
init_db(git_dir, real_git_dir, option_template, GIT_HASH_UNKNOWN, NULL,
|
||||||
INIT_DB_QUIET);
|
do_not_override_repo_unix_permissions, INIT_DB_QUIET);
|
||||||
|
|
||||||
if (real_git_dir) {
|
if (real_git_dir) {
|
||||||
free((char *)git_dir);
|
free((char *)git_dir);
|
||||||
|
@ -31,8 +31,6 @@
|
|||||||
|
|
||||||
#define GIT_DEFAULT_HASH_ENVIRONMENT "GIT_DEFAULT_HASH"
|
#define GIT_DEFAULT_HASH_ENVIRONMENT "GIT_DEFAULT_HASH"
|
||||||
|
|
||||||
static int init_shared_repository = -1;
|
|
||||||
|
|
||||||
static void copy_templates_1(struct strbuf *path, struct strbuf *template_path,
|
static void copy_templates_1(struct strbuf *path, struct strbuf *template_path,
|
||||||
DIR *dir)
|
DIR *dir)
|
||||||
{
|
{
|
||||||
@ -199,6 +197,7 @@ static int create_default_files(const char *template_path,
|
|||||||
const char *initial_branch,
|
const char *initial_branch,
|
||||||
const struct repository_format *fmt,
|
const struct repository_format *fmt,
|
||||||
int prev_bare_repository,
|
int prev_bare_repository,
|
||||||
|
int init_shared_repository,
|
||||||
int quiet)
|
int quiet)
|
||||||
{
|
{
|
||||||
struct stat st1;
|
struct stat st1;
|
||||||
@ -418,7 +417,7 @@ static void validate_hash_algorithm(struct repository_format *repo_fmt, int hash
|
|||||||
|
|
||||||
int init_db(const char *git_dir, const char *real_git_dir,
|
int init_db(const char *git_dir, const char *real_git_dir,
|
||||||
const char *template_dir, int hash, const char *initial_branch,
|
const char *template_dir, int hash, const char *initial_branch,
|
||||||
unsigned int flags)
|
int init_shared_repository, unsigned int flags)
|
||||||
{
|
{
|
||||||
int reinit;
|
int reinit;
|
||||||
int exist_ok = flags & INIT_DB_EXIST_OK;
|
int exist_ok = flags & INIT_DB_EXIST_OK;
|
||||||
@ -464,6 +463,7 @@ int init_db(const char *git_dir, const char *real_git_dir,
|
|||||||
reinit = create_default_files(template_dir, original_git_dir,
|
reinit = create_default_files(template_dir, original_git_dir,
|
||||||
initial_branch, &repo_fmt,
|
initial_branch, &repo_fmt,
|
||||||
prev_bare_repository,
|
prev_bare_repository,
|
||||||
|
init_shared_repository,
|
||||||
flags & INIT_DB_QUIET);
|
flags & INIT_DB_QUIET);
|
||||||
if (reinit && initial_branch)
|
if (reinit && initial_branch)
|
||||||
warning(_("re-init: ignored --initial-branch=%s"),
|
warning(_("re-init: ignored --initial-branch=%s"),
|
||||||
@ -575,6 +575,7 @@ int cmd_init_db(int argc, const char **argv, const char *prefix)
|
|||||||
const char *object_format = NULL;
|
const char *object_format = NULL;
|
||||||
const char *initial_branch = NULL;
|
const char *initial_branch = NULL;
|
||||||
int hash_algo = GIT_HASH_UNKNOWN;
|
int hash_algo = GIT_HASH_UNKNOWN;
|
||||||
|
int init_shared_repository = -1;
|
||||||
const struct option init_db_options[] = {
|
const struct option init_db_options[] = {
|
||||||
OPT_STRING(0, "template", &template_dir, N_("template-directory"),
|
OPT_STRING(0, "template", &template_dir, N_("template-directory"),
|
||||||
N_("directory from which templates will be used")),
|
N_("directory from which templates will be used")),
|
||||||
@ -732,5 +733,5 @@ int cmd_init_db(int argc, const char **argv, const char *prefix)
|
|||||||
|
|
||||||
flags |= INIT_DB_EXIST_OK;
|
flags |= INIT_DB_EXIST_OK;
|
||||||
return init_db(git_dir, real_git_dir, template_dir, hash_algo,
|
return init_db(git_dir, real_git_dir, template_dir, hash_algo,
|
||||||
initial_branch, flags);
|
initial_branch, init_shared_repository, flags);
|
||||||
}
|
}
|
||||||
|
3
cache.h
3
cache.h
@ -327,7 +327,8 @@ extern struct index_state the_index;
|
|||||||
|
|
||||||
int init_db(const char *git_dir, const char *real_git_dir,
|
int init_db(const char *git_dir, const char *real_git_dir,
|
||||||
const char *template_dir, int hash_algo,
|
const char *template_dir, int hash_algo,
|
||||||
const char *initial_branch, unsigned int flags);
|
const char *initial_branch, int init_shared_repository,
|
||||||
|
unsigned int flags);
|
||||||
void initialize_repository_version(int hash_algo, int reinit);
|
void initialize_repository_version(int hash_algo, int reinit);
|
||||||
|
|
||||||
/* Initialize and use the cache information */
|
/* Initialize and use the cache information */
|
||||||
|
Reference in New Issue
Block a user