Merge branch 'unhidden-git'

It has been reported that core.hideDotFiles=false stopped working...
This topic branch fixes it.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
Johannes Schindelin
2016-10-13 14:27:59 +02:00
2 changed files with 23 additions and 3 deletions

View File

@@ -154,6 +154,14 @@ static int git_init_db_config(const char *k, const char *v, void *cb)
if (!strcmp(k, "init.templatedir"))
return git_config_pathname(&init_db_template_dir, k, v);
if (!strcmp(k, "core.hidedotfiles")) {
if (v && !strcasecmp(v, "dotgitonly"))
hide_dotfiles = HIDE_DOTFILES_DOTGITONLY;
else
hide_dotfiles = git_config_bool(k, v);
return 0;
}
return 0;
}
@@ -188,9 +196,6 @@ static int create_default_files(const char *template_path)
safe_create_dir(git_path_buf(&buf, "refs/heads"), 1);
safe_create_dir(git_path_buf(&buf, "refs/tags"), 1);
/* Just look for `init.templatedir` */
git_config(git_init_db_config, NULL);
/* First copy the templates -- we might have the default
* config file there, in which case we would want to read
* from it after installing.
@@ -358,6 +363,9 @@ int init_db(const char *template_dir, unsigned int flags)
if (git_link)
separate_git_dir(git_dir);
/* Just look for `init.templatedir` and `core.hidedotfiles` */
git_config(git_init_db_config, NULL);
safe_create_dir(git_dir, 0);
init_is_bare_repository = is_bare_repository();

View File

@@ -384,4 +384,16 @@ test_expect_success MINGW 'bare git dir not hidden' '
! is_hidden newdir
'
test_expect_success MINGW 'core.hidedotfiles = false' '
git config --global core.hidedotfiles false &&
rm -rf newdir &&
(
unset GIT_DIR GIT_WORK_TREE GIT_CONFIG
mkdir newdir &&
cd newdir &&
git init
) &&
! is_hidden newdir/.git
'
test_done