Skip to content

Commit

Permalink
gitignore: report access errors of exclude files
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Jeff King authored and Junio C Hamano committed Aug 21, 2012
1 parent ba8bd83 commit 6966073
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 ||
Expand Down Expand Up @@ -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);
}

Expand Down

0 comments on commit 6966073

Please sign in to comment.