summaryrefslogtreecommitdiff
path: root/dir.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2012-08-21 06:26:07 (GMT)
committerJunio C Hamano <gitster@pobox.com>2012-08-21 21:46:47 (GMT)
commit6966073102170171da4c25a4038bbd143fa6a75b (patch)
treef68b9b41c6d15cbccf8da69bd703e4272e607aae /dir.c
parentba8bd8300a544959159f6bd3a7e03ac54f85ea3a (diff)
downloadgit-6966073102170171da4c25a4038bbd143fa6a75b.zip
git-6966073102170171da4c25a4038bbd143fa6a75b.tar.gz
git-6966073102170171da4c25a4038bbd143fa6a75b.tar.bz2
gitignore: report access errors of exclude files
When we try to access gitignore files, we check for their existence with a call to "access". We silently ignore missing files. However, if a file is not readable, this may be a configuration error; let's warn the user. For $GIT_DIR/info/excludes or core.excludesfile, we can just use access_or_warn. However, for per-directory files we actually try to open them, so we must add a custom warning. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'dir.c')
-rw-r--r--dir.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/dir.c b/dir.c
index 240bf0c..ea74048 100644
--- a/dir.c
+++ b/dir.c
@@ -397,6 +397,8 @@ int add_excludes_from_file_to_list(const char *fname,
fd = open(fname, O_RDONLY);
if (fd < 0 || fstat(fd, &st) < 0) {
+ if (errno != ENOENT)
+ warning(_("unable to access '%s': %s"), fname, strerror(errno));
if (0 <= fd)
close(fd);
if (!check_index ||
@@ -1311,9 +1313,9 @@ void setup_standard_excludes(struct dir_struct *dir)
home_config_paths(NULL, &xdg_path, "ignore");
excludes_file = xdg_path;
}
- if (!access(path, R_OK))
+ if (!access_or_warn(path, R_OK))
add_excludes_from_file(dir, path);
- if (excludes_file && !access(excludes_file, R_OK))
+ if (excludes_file && !access_or_warn(excludes_file, R_OK))
add_excludes_from_file(dir, excludes_file);
}