git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Jeff King <peff@peff.net>
Cc: git@vger.kernel.org
Subject: [RFC/PATCH 0/2] Re: [PATCH] config: warn on inaccessible files
Date: Sat, 13 Oct 2012 17:02:10 -0700	[thread overview]
Message-ID: <20121014000210.GA19094@elie.Belkin> (raw)

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(-)

             reply	other threads:[~2012-10-14  0:02 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-14  0:02 Jonathan Nieder [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121014000210.GA19094@elie.Belkin \
    --to=jrnieder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).