git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC/PATCH 0/2] Re: [PATCH] config: warn on inaccessible files
@ 2012-10-14  0:02 Jonathan Nieder
  2012-10-14  0:03 ` [PATCH 1/2] config, gitignore: failure to access with ENOTDIR is ok Jonathan Nieder
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Jonathan Nieder @ 2012-10-14  0:02 UTC (permalink / raw)
  To: Jeff King; +Cc: git

Hi Jeff,

In August, Jeff King wrote:

> Before reading a config file, we check "!access(path, R_OK)"
> to make sure that the file exists and is readable. If it's
> not, then we silently ignore it.

git became noisy:

 $ git fetch --all
 warning: unable to access '/home/jrn/.config/git/config': Not a directory
 warning: unable to access '/home/jrn/.config/git/config': Not a directory
 warning: unable to access '/home/jrn/.config/git/config': Not a directory
 warning: unable to access '/home/jrn/.config/git/config': Not a directory
 Fetching origin
 warning: unable to access '/home/jrn/.config/git/config': Not a directory
 warning: unable to access '/home/jrn/.config/git/config': Not a directory
 warning: unable to access '/home/jrn/.config/git/config': Not a directory
 warning: unable to access '/home/jrn/.config/git/config': Not a directory
 warning: unable to access '/home/jrn/.config/git/config': Not a directory
 warning: unable to access '/home/jrn/.config/git/config': Not a directory
 warning: unable to access '/home/jrn/.config/git/config': Not a directory
 warning: unable to access '/home/jrn/.config/git/config': Not a directory
 warning: unable to access '/home/jrn/.config/git/config': Not a directory
 Fetching charon
 warning: unable to access '/home/jrn/.config/git/config': Not a directory
 [...]

On this machine, ~/.config/git has been a regular file for a while,
with ~/.gitconfig a symlink to it.  Probably ENOTDIR should be ignored
just like ENOENT is.  Except for the noise, the behavior is fine, but
something still feels wrong.  

When ~/.gitconfig is unreadable (EPERM), the messages are a symptom of
an older issue: the config file is being ignored.  Shouldn't git error
out instead so the permissions can be fixed?  E.g., if the sysadmin
has set "[branch] autoSetupRebase" to true in /etc/gitconfig and I
have set it to false in my own ~/.gitconfig, I'd rather see git error
out because ~/.gitconfig has become unreadable in a chmod gone wrong
than have a branch set up with the wrong settings and have to learn to
fix it up myself.

In other words, how about something like this?

Jonathan Nieder (2):
  config, gitignore: failure to access with ENOTDIR is ok
  config: treat user and xdg config permission problems as errors

 config.c          |  4 ++--
 git-compat-util.h |  6 +++++-
 wrapper.c         | 10 +++++++++-
 3 files changed, 16 insertions(+), 4 deletions(-)

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2012-10-14 16:43 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-14  0:02 [RFC/PATCH 0/2] Re: [PATCH] config: warn on inaccessible files Jonathan Nieder
2012-10-14  0:03 ` [PATCH 1/2] config, gitignore: failure to access with ENOTDIR is ok Jonathan Nieder
2012-10-14  0:04 ` [PATCH 2/2] config: treat user and xdg config permission problems as errors Jonathan Nieder
2012-10-14  6:22   ` Jeff King
2012-10-14  8:42     ` Jonathan Nieder
2012-10-14  8:44       ` [PATCH 3/2] config doc: advertise GIT_CONFIG_NOSYSTEM Jonathan Nieder
2012-10-14  8:53         ` [PATCH v2 3/2] " Jonathan Nieder
2012-10-14  8:46       ` [PATCH 4/2] config: exit on error accessing any config file Jonathan Nieder
2012-10-14 16:43       ` [PATCH 2/2] config: treat user and xdg config permission problems as errors Jeff King
2012-10-14  4:55 ` [RFC/PATCH 0/2] Re: [PATCH] config: warn on inaccessible files Junio C Hamano
2012-10-14  6:26   ` Jeff King
2012-10-14  9:00   ` Jonathan Nieder
2012-10-14  6:16 ` Jeff King

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).