On Mon, May 22, 2017 at 1:11 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > * nd/fopen-errors (2017-05-09) 23 commits > - t1308: add a test case on open a config directory > - config.c: handle error on failing to fopen() > - xdiff-interface.c: report errno on failure to stat() or fopen() > - wt-status.c: report error on failure to fopen() > - server-info: report error on failure to fopen() > - sequencer.c: report error on failure to fopen() > - rerere.c: report correct errno > - rerere.c: report error on failure to fopen() > - remote.c: report error on failure to fopen() > - commit.c: report error on failure to fopen() the graft file > - log: fix memory leak in open_next_file() > - log: report errno on failure to fopen() a file > - blame: report error on open if graft_file is a directory > - bisect: report on fopen() error > - ident.c: use fopen_or_warn() > - attr.c: use fopen_or_warn() > - wrapper.c: add fopen_or_warn() > - wrapper.c: add warn_on_fopen_errors() > - config.mak.uname: set FREAD_READS_DIRECTORIES for Darwin, too > - config.mak.uname: set FREAD_READS_DIRECTORIES for Linux and FreeBSD > - clone: use xfopen() instead of fopen() > - Use xfopen() in more places > - git_fopen: fix a sparse 'not declared' warning > > We often try to open a file for reading whose existence is > optional, and silently ignore errors from open/fopen; report such > errors if they are not due to missing files. If anyone wants to continue this, I've cleaned up the series based on Johannes comments here [1]. It does not have the Darwin change though. There was the last question about the '*' test change in ref path and what exact code change causes that, which I can't answer because I don't have Windows, or the time to simulate and pinpoint the fault on Linux. [1] https://github.com/pclouds/git/commits/fopen-or-warn -- Duy