git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: Jeff King <peff@peff.net>, git@vger.kernel.org
Subject: Re: [RFC/PATCH 0/2] Re: [PATCH] config: warn on inaccessible files
Date: Sat, 13 Oct 2012 21:55:22 -0700	[thread overview]
Message-ID: <7vhapx1wlh.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <20121014000210.GA19094@elie.Belkin> (Jonathan Nieder's message of "Sat, 13 Oct 2012 17:02:10 -0700")

Jonathan Nieder <jrnieder@gmail.com> writes:

> 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
>  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?

I think that is a reasonable issue to address, but I wonder if we
should be sharing more code between these.  If the config side can
be switched to unconditionally attempt to fopen and then deal with
an error when it happens, we can get rid of access_or_{warn,die}
and replace them with fopen_or_{warn,die} and use them from the two
places (attr.c:read_attr_from_file() and the configuration stuff).

I haven't looked to see if that a too intrusive refactoring to be
worth it, though.

  parent reply	other threads:[~2012-10-14  4:55 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 ` Junio C Hamano [this message]
2012-10-14  6:26   ` [RFC/PATCH 0/2] Re: [PATCH] config: warn on inaccessible files 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=7vhapx1wlh.fsf@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=jrnieder@gmail.com \
    --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).