diff options
author | Junio C Hamano <gitster@pobox.com> | 2013-01-06 22:11:16 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-01-06 22:11:16 -0800 |
commit | 4f43e9726af5d036af96de9e5208a6122d378f9b (patch) | |
tree | f50d3e8b91afe0ee2f45430639c2d6947d5ce651 /wrapper.c | |
parent | 1965f8cdbdf86930b99fd61ed2efb22ac3d6a725 (diff) | |
parent | 8f2bbe452e2c2917ec3c9a5d1593f26908cab83b (diff) | |
download | git-4f43e9726af5d036af96de9e5208a6122d378f9b.tar.gz |
Merge branch 'jn/warn-on-inaccessible-loosen'
Deal with a situation where .config/git is a file and we notice
.config/git/config is not readable due to ENOTDIR, not ENOENT.
* jn/warn-on-inaccessible-loosen:
config: exit on error accessing any config file
doc: advertise GIT_CONFIG_NOSYSTEM
config: treat user and xdg config permission problems as errors
config, gitignore: failure to access with ENOTDIR is ok
Diffstat (limited to 'wrapper.c')
-rw-r--r-- | wrapper.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -411,11 +411,19 @@ void warn_on_inaccessible(const char *path) int access_or_warn(const char *path, int mode) { int ret = access(path, mode); - if (ret && errno != ENOENT) + if (ret && errno != ENOENT && errno != ENOTDIR) warn_on_inaccessible(path); return ret; } +int access_or_die(const char *path, int mode) +{ + int ret = access(path, mode); + if (ret && errno != ENOENT && errno != ENOTDIR) + die_errno(_("unable to access '%s'"), path); + return ret; +} + struct passwd *xgetpwuid_self(void) { struct passwd *pw; |