From: David Aguilar <davvid@gmail.com>
To: Michael J Gruber <git@drmicha.warpmail.net>
Cc: Bert Wesarg <bert.wesarg@googlemail.com>,
Matthieu Moy <Matthieu.Moy@imag.fr>,
git@vger.kernel.org, gitster@pobox.com
Subject: Re: [PATCH (resend)] Let core.excludesfile default to ~/.gitexcludes.
Date: Thu, 26 Nov 2009 12:07:30 -0800 [thread overview]
Message-ID: <20091126200728.GA2665@gmail.com> (raw)
In-Reply-To: <4B0E8529.3040609@drmicha.warpmail.net>
On Thu, Nov 26, 2009 at 02:39:53PM +0100, Michael J Gruber wrote:
>
> Now, that is bike shedding ;)
>
> It seems to me that all ~/.*rc that I have are config files (.bashrc,
> .xinitrc...), and all condif subdirs ~/.* are named by the
> program/subsystem (.qt, .kde, .gnupg), which we cannot do any more, and
> which is why I suggested .gitglobal. But I'd be fine with .gitrc.
>
> > On the other
> > hand the --global option to git config specifies the .gitconfig in
> > your HOME.
>
> That would have to change (ouch, ducking). Transition plan would be:
>
> ~/.gitconfig, ~/.gitrc/config::
> User-specific configuration file. Also called "global"
> configuration file. Git looks in these locations in the
> specified order and uses the first one it finds.
>
> $(prefix)/etc/gitconfig, $(prefix)/etc/gitrc/config::
> System-wide configuration file. Git looks in these locations
> in the specified order and uses the first one it finds.
>
> This would mean no surprises for users with existing config, one could
> teach the new preferred locations exclusively, and at some future point
> one could phase out the old paths.
>
> Michael
If we're going to bikeshed then let's throw a standard in there:
http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html
~/.gitrc/ doesn't make sense (it's not a file) and ~/.gitglobal/
hurts my eyes.
"global"? Huh? Isn't it really user-specific?
Why not call it ~/.gituser/ then?
And what about the standard?
The silly standard says to use ~/.config/git/.
I'm quite happy with ~/.gitconfig and ~/.gitexclude if that's all
there is to git's per-user configuration abilities, especially
since ~/.gitexclude is less common. _Much_ less common from
what I've seen in practice.
Being that we cannot predict the future then there is some
appeal to a top-leve ~/.config/git/-like directory. But...
Like Junio said, I would stop only after adding support for
the new paths. We don't want to confuse old or new users
and we should never deprecate existing ~/.gitconfig.
So now the "user" config is not just tied to one file but
is instead multiple files? I dunno.. I kinda don't like
that but the only reason is because I'm going to have to
go and change code to take that into account.
When I have to change code for little added benefit
I ask questions.
What about:
$ git config --global foo.bar baz
What file does that touch?
~/.gitconfig or ~/.config/git/config?
What if ~/.gitconfig exists and ~/.config/git/config doesn't?
What about vice versa?
Okay, I also don't like it for that reason.
What if you jump between git versions? Now the previous
question is much more important -- it means that we *must*
write to ~/.gitconfig to keep backwards compatibility otherwise
someone will config something with git-vNew and be surprised
when git-vOld does not find it.
And if we must write to ~/.gitconfig then
why does ~/.config/git/config even exist?
I guess all I'm saying is that I'm quite happy with
~/.gitconfig and do not see a compelling reason as
to why we'd need to transition to a different path.
Yes, I'm being lazy. I don't feel like changing code
when stuff works just fine right now ;-)
And if we were to change it, then what about JGit,
Dulwich, GitSharp, etc? Who's going to change those?
To quote an old famous horse, "No sir, I don't like it."
--
David
next prev parent reply other threads:[~2009-11-26 20:06 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-20 13:23 [PATCH] let core.excludesfile default to ~/.gitignore Matthieu Moy
2009-11-20 14:30 ` Stefan Naewe
2009-11-20 18:50 ` David Aguilar
2009-11-21 22:00 ` [PATCH v2] Let core.excludesfile default to ~/.gitexcludes Matthieu Moy
2009-11-26 10:35 ` [PATCH (resend)] " Matthieu Moy
2009-11-26 12:00 ` Michael J Gruber
2009-11-26 12:49 ` Paolo Bonzini
2009-11-26 13:27 ` Michael J Gruber
2009-11-26 13:01 ` Bert Wesarg
2009-11-26 13:39 ` Michael J Gruber
2009-11-26 20:07 ` David Aguilar [this message]
2009-11-26 18:18 ` Junio C Hamano
2009-12-30 13:41 ` [PATCH v2] " Nanako Shiraishi
2009-12-30 14:31 ` Matthieu Moy
2009-12-30 19:49 ` Junio C Hamano
2010-01-02 12:05 ` User-wide Git config directory (was Re: [PATCH v2] Let core.excludesfile default to ~/.gitexcludes.) Matthieu Moy
2009-11-20 22:49 ` [PATCH] let core.excludesfile default to ~/.gitignore Junio C Hamano
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091126200728.GA2665@gmail.com \
--to=davvid@gmail.com \
--cc=Matthieu.Moy@imag.fr \
--cc=bert.wesarg@googlemail.com \
--cc=git@drmicha.warpmail.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.