On Fri, Nov 14, 2014 at 1:29 PM, 0xAX <kuleshovmail@xxxxxxxxx> wrote: > When we execute git config --list and $GIT_CONFIG value starts with home > prefix - ~/ it produces folowing error - fatal: unable to read config > file '~/.gitconfig': No such file or directory. This patch fixed it with > expand_user_path for configuration file path before git-config --list > call. Is this special case really warranted? Elsewhere, GIT_CONFIG does not get this sort of special treatment. Moreover, it appears that no other GIT_* environment variable is subject to such special treatment. (And, generally speaking, on Unix, it is generally assumed that a path assigned to an environment variable is to be used as-is.) > Signed-off-by: Alex Kuleshov <kuleshovmail@xxxxxxxxx> s/gmial/gmail/ > Signed-off-by: 0xAX <kuleshovmail@xxxxxxxxx> > --- > builtin/config.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/builtin/config.c b/builtin/config.c > index 7bba516..df1bee0 100644 > --- a/builtin/config.c > +++ b/builtin/config.c > @@ -540,6 +540,8 @@ int cmd_config(int argc, const char **argv, const char *prefix) > > if (actions == ACTION_LIST) { > check_argc(argc, 0, 0); > + const char* newpath = expand_user_path(given_config_source.file); > + given_config_source.file = newpath; A few issues: (1) Style: s/char* /char */ (2) Avoid declaration (of 'newpath') after statement. (3) You can drop 'newpath' altogether and just assign the result of expand_user_path() directly to given_config_source.file. This code is potentially leaking the old value of given_config_source.file, and (later) the new value, however, as given_config_source.file is already being leaked elsewhere, it probably does not make the situation much worse. > if (git_config_with_options(show_all_config, NULL, > &given_config_source, > respect_includes) < 0) { > -- > 2.1.3.17.g7fa1365.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html