Subject: Re: [RFC - draft] List of proposed future changes that are backward incompatible

From: Jakub Narebski <[email-masked]>
Date: Mon, 16 Feb 2009 00:38:23 +0100

Hello!

On Mon, 16 Feb 2009, Johannes Schindelin wrote:
> On Sun, 15 Feb 2009, Jakub Narebski wrote:
>> [email-masked] writes:
>> 
>>> one thing that would help new users is if there was a way to create a 
>>> git config file that explicitly listed all the defaults. either as a 
>>> sample config, or to expand the existing config file with all the 
>>> defaults listed, but commented out.
>>> 
>>> I find that having such a config file helps me find config options I
>>> never thought to look for.
>> 
>> That is a very good idea... if next to impossible now, I think, as
>> there is (I guess) no single place that stores default values.  But
>> perhaps I am mistaken.
> 
> Of course, you have to ignore the fact that it would no longer possible to 
> update defaults for existing repositories.
> 
> For example, setting something like receive.denyCurrentBranch to a saner 
> default would not reach existing repositories.

You missed that it would be a _sample_ config (or commented out sample
config), and not the default config installed when creating repository.

But...

> 
> And you would also have to ignore the fact that sometimes, config 
> variables are deprecated, and this _also_ would not reach existing 
> repositories.  Of course, the same holds true if you set such a config 
> variable manually, but then you are _supposed_ to know the config 
> variable, and you are unlikely to learn the name of an obsolete variable.
> 
> Do keep in mind, too, that most of the variables are next to useless 
> without the proper documentation.  And do you really want to replicate 
> Documentation/config.txt in the config file?  If not, how do you want to 
> make sure that the two different documentations do not go out of sync?
> 
> Further, it would be much, much harder to see what is _actually_ set.
> 
> Summary: I do not like that idea.

... perhaps an alternate solution: add switch to git-config or git-var
which would list (only list, no description) all defaults.  Hmmm?

-- 
Jakub Narebski
Poland