threads / discuss / 25018

Propagating config to clones/pulls

Subject: Propagating config to clones/pulls

## tl;dr

5 messages between Sep 7, 2010 and Sep 8, 2010.

replies: 4people: 4as markdown or json

Douglas Tan· Sep 7, 2010, 08:56 UTC · lore
I have some config settings that I'll like to make default for anyone cloning/pulling from the central remote bare repository. I've tried to do this by editing the config file in the bare repository on the server but the change doesn't appear when cloning. How can I go about pushing default config settings to anyone cloing or pulling from the repository?
Thomas Rast· Sep 7, 2010, 09:23 UTC · re: Douglas Tan · lore

Re: Propagating config to clones/pulls

Douglas Tan wrote:
Show 7 quoted lines
> 
> I have some config settings that I'll like to make default for
> anyone cloning/pulling from the central remote bare repository. I've
> tried to do this by editing the config file in the bare repository
> on the server but the change doesn't appear when cloning. How can I
> go about pushing default config settings to anyone cloing or pulling
> from the repository?
You can't, since that would open a whole range of security issues.

You can put some config defaults inside the repository itself, but it is up to your users whether they apply them. Perhaps it's best to write them as a shellscript that adds to the configuration file(s) so that it is easy to apply it later, e.g.,

  #!/bin/sh
  git config diff.jpg.textconv exiftool
  cat >> .gitattributes <<EOF
  *.jpg diff=jpg
  EOF
-- 
Thomas Rast
trast@{inf,student}.ethz.ch
David Aguilar· Sep 7, 2010, 11:05 UTC · re: Thomas Rast · lore

Re: Propagating config to clones/pulls

On 9/7/10, Thomas Rast <trast@student.ethz.ch> wrote:
Show 25 quoted lines
> Douglas Tan wrote:
>  >
>  > I have some config settings that I'll like to make default for
>  > anyone cloning/pulling from the central remote bare repository. I've
>  > tried to do this by editing the config file in the bare repository
>  > on the server but the change doesn't appear when cloning. How can I
>  > go about pushing default config settings to anyone cloing or pulling
>  > from the repository?
>
>  You can't, since that would open a whole range of security issues.
>
>  You can put some config defaults inside the repository itself, but it
>  is up to your users whether they apply them.  Perhaps it's best to
>  write them as a shellscript that adds to the configuration file(s) so
>  that it is easy to apply it later, e.g.,
>
>   #!/bin/sh
>   git config diff.jpg.textconv exiftool
>   cat >> .gitattributes <<EOF
>   *.jpg diff=jpg
>   EOF
>
>  --
>  Thomas Rast
>  trast@{inf,student}.ethz.ch

Also.. if you happen to have administrator access to their machines (or if they do) then you can roll an .rpm/.deb/etc. containing an /etc/gitconfig and install it on their machines. That'll apply these settings globally without them having to run a script everytime a repo is cloned.

-- 
    David
Douglas Tan· Sep 8, 2010, 03:08 UTC · re: David Aguilar · lore

Re: Propagating config to clones/pulls

Thanks for the suggestions, I think I'll have everyone cloning the repositories to add the configuration settings in ~/.gitconfig instead.
On 07/09/2010, at 7:05 PM, David Aguilar wrote:
Show 34 quoted lines
> On 9/7/10, Thomas Rast <trast@student.ethz.ch> wrote:
>> Douglas Tan wrote:
>>> 
>>> I have some config settings that I'll like to make default for
>>> anyone cloning/pulling from the central remote bare repository. I've
>>> tried to do this by editing the config file in the bare repository
>>> on the server but the change doesn't appear when cloning. How can I
>>> go about pushing default config settings to anyone cloing or pulling
>>> from the repository?
>> 
>> You can't, since that would open a whole range of security issues.
>> 
>> You can put some config defaults inside the repository itself, but it
>> is up to your users whether they apply them.  Perhaps it's best to
>> write them as a shellscript that adds to the configuration file(s) so
>> that it is easy to apply it later, e.g.,
>> 
>>  #!/bin/sh
>>  git config diff.jpg.textconv exiftool
>>  cat >> .gitattributes <<EOF
>>  *.jpg diff=jpg
>>  EOF
>> 
>> --
>> Thomas Rast
>> trast@{inf,student}.ethz.ch
> 
> Also.. if you happen to have administrator access to their machines
> (or if they do) then you can roll an .rpm/.deb/etc. containing an
> /etc/gitconfig and install it on their machines.  That'll apply these
> settings globally without them having to run a script everytime a repo
> is cloned.
> -- 
>    David
Neal Kreitzinger· Sep 7, 2010, 21:36 UTC · re: Douglas Tan · lore

Re: Propagating config to clones/pulls

"Douglas Tan" <douglas@getgosu.com> wrote in message news:A8F08AD5-6DB5-4A4D-9A8F-79DDBD93E666@getgosu.com...

Show 5 quoted lines
>I have some config settings that I'll like to make default for anyone 
>cloning/pulling from the central remote bare repository. I've tried to do 
>this by editing the config file in the bare repository on the server but 
>the change doesn't appear when cloning. How can I go about pushing default 
>config settings to anyone cloing or pulling from the repository?--

Based on the assumption that your "child" repos are supposed to have the same .git/config files, I tried using git-init --template=x with a config file in template directory "x", but git-init only picks up the config file on an initialization of a new repo, not on a reinitialization of an existing repo.

v/r, Neal

← back to recent threads