config: normalize the path of the system gitconfig
Git for Windows is compiled with a runtime prefix, and that runtime prefix is typically `C:/Program Files/Git/mingw64`. As we want the system gitconfig to live in the sibling directory `etc`, we define the relative path as `../etc/gitconfig`. However, as reported by Philip Oakley, the output of `git config --show-origin --system -l` looks rather ugly, as it shows the path as `file:C:/Program Files/Git/mingw64/../etc/gitconfig`, i.e. with the `mingw64/../` part. By normalizing the path, we get a prettier path. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
50101b93ca
commit
e355307692
7
config.c
7
config.c
|
@ -1833,9 +1833,10 @@ static int git_config_from_blob_ref(config_fn_t fn,
|
||||||
char *git_system_config(void)
|
char *git_system_config(void)
|
||||||
{
|
{
|
||||||
char *system_config = xstrdup_or_null(getenv("GIT_CONFIG_SYSTEM"));
|
char *system_config = xstrdup_or_null(getenv("GIT_CONFIG_SYSTEM"));
|
||||||
if (system_config)
|
if (!system_config)
|
||||||
return system_config;
|
system_config = system_path(ETC_GITCONFIG);
|
||||||
return system_path(ETC_GITCONFIG);
|
normalize_path_copy(system_config, system_config);
|
||||||
|
return system_config;
|
||||||
}
|
}
|
||||||
|
|
||||||
void git_global_config(char **user_out, char **xdg_out)
|
void git_global_config(char **user_out, char **xdg_out)
|
||||||
|
|
Loading…
Reference in New Issue