"Johannes Schindelin via GitGitGadget" <gitgitgad...@gmail.com>
writes:

> diff --git a/builtin/init-db.c b/builtin/init-db.c
> index 93eff7618c..94df241ad5 100644
> --- a/builtin/init-db.c
> +++ b/builtin/init-db.c
> @@ -155,6 +155,9 @@ 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 (starts_with(k, "core."))
> +             return platform_core_config(k, v, cb);
> +
>       return 0;
>  }

OK.  I think this is very much futureproof and a sensible thing to
have a "platform_core_config()" call here.  That way, we do not have
to say the details of what platform specific thing each platform
wants when init_db_config works.

> @@ -361,6 +364,9 @@ int init_db(const char *git_dir, const char *real_git_dir,
>       }
>       startup_info->have_repository = 1;
>  
> +     /* Just look for `init.templatedir` and `core.hidedotfiles` */

And from that point of view, replacing `core.hidedotfiles` with
something like "platform specific core config" would be more
appropriate.

> +     git_config(git_init_db_config, NULL);
> +

We use git_init_db_config from create_default_files(), which is a
function called several lines after this point; shouldn't that now
be removed from create_default_files()?

>       safe_create_dir(git_dir, 0);
>  
>       init_is_bare_repository = is_bare_repository();
> diff --git a/t/t0001-init.sh b/t/t0001-init.sh
> index 42a263cada..35ede1b0b0 100755
> --- a/t/t0001-init.sh
> +++ b/t/t0001-init.sh
> @@ -453,6 +453,18 @@ test_expect_success 're-init from a linked worktree' '
>       )
>  '
>  
> +test_expect_success MINGW 'core.hidedotfiles = false' '
> +     git config --global core.hidedotfiles false &&
> +     rm -rf newdir &&
> +     (
> +             sane_unset GIT_DIR GIT_WORK_TREE GIT_CONFIG &&
> +             mkdir newdir &&
> +             cd newdir &&
> +             git init
> +     ) &&

This is not incorrect per-se, but I think most tests do the mkdir
outside subshell, i.e.

        rm -rf newdir &&
        mkdir newdir &&
        (
                cd newdir &&
                sane_unset ... &&
                ...
        ) &&

Other than these, I find nothing questionable in the patch.  Nicely
done.


Reply via email to