Subject: Re: Template files location

From: A Large Angry SCM <[email-masked]>
Date: Fri, 05 Aug 2005 13:50:29 -0400

Junio C Hamano wrote:
...
> If the template files are to become something that always have
> to exist, /etc first and then falling back on /usr/share would
> make a lot of sense.  But as Johannes Schindelin correctly
> argued against the "Use the template mechanism to set up refs/
> hierarchy as well." patch [*2*], I think git-init-db should work
> when there is no template directory.  In other words, its
> primary purpose is to help local project administrators ensure
> newly created repositories have hooks and probably info/exclude
> that they recommend to the project members.

So templates are project specific.

> The reason to have a sample one shipped as part of the core
> package is just to help newbies --- they would get a boilerplate
> hooks/update that explains how they can set it up when they do
> git-init-db even when they do not have their own customized set
> of templates yet.  For this kind of use, I do not think one
> default falling back to another is needed.

Shipping samples with the plumbing makes sense, especially when the 
documentation in is insufficient. But installing the samples as part of 
the default install process seems less than desirable. Or, alternately, 
install the samples in with the documentation as (non-executable) examples.

...
> *1* This would probably break Linus, myself and others ---
> everybody has to say "make prefix=$HOME", so I do not think I am
> actually going to do it any time soon, if ever.
> 
> Having prefix=/usr/local as default only helps people who are
> installing system-wide from the source, and nobody else.  People
> who are writing spec.in and/or debian/rules need to override it
> to prefix=/usr anyway, and it forces people who are installing
> to their home to say prefix=$HOME/.  I suspect it is an inertia
> from the good old days when nobody used binary distributions.

Rather than changing the default install location in such a way as to 
make half the user unhappy, make everybody (un)happy by removing the 
default and forcing it to be specified when make is executed.