]> git.ipfire.org Git - thirdparty/git.git/blobdiff - setup.c
setup: allow skipping creation of the refdb
[thirdparty/git.git] / setup.c
diff --git a/setup.c b/setup.c
index 865cfe6743e2dd819bec4043645c7cac17c69f69..d6a1c59b7bd915e8779bb28c0bcc3847fee9e830 100644 (file)
--- a/setup.c
+++ b/setup.c
@@ -1949,11 +1949,9 @@ static void create_reference_database(const char *initial_branch, int quiet)
 
 static int create_default_files(const char *template_path,
                                const char *original_git_dir,
-                               const char *initial_branch,
                                const struct repository_format *fmt,
                                int prev_bare_repository,
-                               int init_shared_repository,
-                               int quiet)
+                               int init_shared_repository)
 {
        struct stat st1;
        struct strbuf buf = STRBUF_INIT;
@@ -2024,7 +2022,6 @@ static int create_default_files(const char *template_path,
                adjust_shared_perm(get_git_dir());
        }
 
-       create_reference_database(initial_branch, quiet);
        initialize_repository_version(fmt->hash_algo, 0);
 
        /* Check filemode trustability */
@@ -2184,11 +2181,11 @@ int init_db(const char *git_dir, const char *real_git_dir,
        validate_hash_algorithm(&repo_fmt, hash);
 
        reinit = create_default_files(template_dir, original_git_dir,
-                                     initial_branch, &repo_fmt,
-                                     prev_bare_repository,
-                                     init_shared_repository,
-                                     flags & INIT_DB_QUIET);
+                                     &repo_fmt, prev_bare_repository,
+                                     init_shared_repository);
 
+       if (!(flags & INIT_DB_SKIP_REFDB))
+               create_reference_database(initial_branch, flags & INIT_DB_QUIET);
        create_object_directory();
 
        if (get_shared_repository()) {