aboutsummaryrefslogtreecommitdiffstats
path: root/builtin/init-db.c
diff options
context:
space:
mode:
Diffstat (limited to 'builtin/init-db.c')
-rw-r--r--builtin/init-db.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/builtin/init-db.c b/builtin/init-db.c
index efc66523e2..c19b35f1e6 100644
--- a/builtin/init-db.c
+++ b/builtin/init-db.c
@@ -201,6 +201,7 @@ static int create_default_files(const char *template_path,
int filemode;
struct strbuf err = STRBUF_INIT;
const char *init_template_dir = NULL;
+ const char *work_tree = get_git_work_tree();
/*
* First copy the templates -- we might have the default
@@ -221,7 +222,7 @@ static int create_default_files(const char *template_path,
* We must make sure command-line options continue to override any
* values we might have just re-read from the config.
*/
- is_bare_repository_cfg = init_is_bare_repository;
+ is_bare_repository_cfg = init_is_bare_repository || !work_tree;
if (init_shared_repository != -1)
set_shared_repository(init_shared_repository);
@@ -285,7 +286,6 @@ static int create_default_files(const char *template_path,
if (is_bare_repository())
git_config_set("core.bare", "true");
else {
- const char *work_tree = get_git_work_tree();
git_config_set("core.bare", "false");
/* allow template config file to override the default */
if (log_all_ref_updates == LOG_REFS_UNSET)