• J
    config: treat user and xdg config permission problems as errors · 96b9e0e3
    Jonathan Nieder 提交于
    Git reads multiple configuration files: settings come first from the
    system config file (typically /etc/gitconfig), then the xdg config
    file (typically ~/.config/git/config), then the user's dotfile
    (~/.gitconfig), then the repository configuration (.git/config).
    
    Git has always used access(2) to decide whether to use each file; as
    an unfortunate side effect, that means that if one of these files is
    unreadable (e.g., EPERM or EIO), git skips it.  So if I use
    ~/.gitconfig to override some settings but make a mistake and give it
    the wrong permissions then I am subject to the settings the sysadmin
    chose for /etc/gitconfig.
    
    Better to error out and ask the user to correct the problem.
    
    This only affects the user and xdg config files, since the user
    presumably has enough access to fix their permissions.  If the system
    config file is unreadable, the best we can do is to warn about it so
    the user knows to notify someone and get on with work in the meantime.
    Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    96b9e0e3
config.c 37.7 KB