On Tue, Jun 03, 2014 at 07:34:10AM -0500, John McKown wrote:
> On Tue, Jun 3, 2014 at 7:12 AM, Magnus Therning <mag...@therning.org> wrote:
> 
> > On Tue, Jun 03, 2014 at 04:24:43AM -0700, Pierre-François CLEMENT wrote:
> > >
> > >
> > > > I want to extend git commands set on per-repository basis and
> > therefore I
> > > > need to have VERSIONED sort of .config file
> > > >
> > >
> > > You can use the repository's .git/config file to set repo-specific
> > > configuration, but why would you want it to be versioned in the
> > > project itself? It'd force anybody who can clone the repo to have
> > > the same config file.
> > >
> > > I guess that the closer you could get to this would be to version a,
> > > say, git.config file in the project root and then replace the repo's
> > > .git/config file with a symlink to it. But keep in mind that it'll
> > > still require whoever can clone the repo to decide to do so, you
> > > won't be able to force them -- and doing so will prevent them from
> > > having their own per-repository config file.
> >
> > Something I'd be more comfortable with is making `git-config` a shell
> > script containing calls to `git config --local`.  Yes, it's then a
> > two-step procedure, and people might forget to perform the second
> > step, but *I* am in control and a `git pull` will not silently cause
> > any config changes.
> >
> 
> Magnus,
> I haven't even really looked into this, but if you are using Linux with the
> BASH shell, you might want to look at using the "alias" command in your
> ~/.profile so that the command git invokes your own shell script. This is
> rather easy with a line something like:
> 
> alias git="~/bin/mygit"
> 
> Now, when the BASH shell sees the git command, it actually invokes the
> ~/bin/mygit program (which is a shell script). I haven't looked at writing
> such a script, but I think that you'd basically just check to see if the
> first parameter is "config", and, if not, then invoke the normal git
> program. If the first parameter is "config", then force the --local
> parameter (or not, whatever you decide you need).
> 
> Of, if by chance, you actually want to directly run git without using the
> alias, just enclose the git command in " marks, like:
> 
> "git" config --global ...
> 
> 
> The plus of this is that such a modification will only affect you, not
> anyone else who may be on that machine. The minus is the same. Whether it
> is a plus or a minus depends on your wants: only modify git for me, or
> modify git for everybody.
> 
> Wish I had the time right now to work on that script. Hopefully this is of
> some help. But, like when I was in cleaning: "I don't _do_ Windows!" <grin/>

Sorry, it wasn't my intention to confuse you.  I did not mean
replacing `git config` (aka `git-config`) but rather I meant the
`git.config` referred to earlier and then I misspelled it :)

/M

-- 
Magnus Therning                      OpenPGP: 0xAB4DFBA4 
email: mag...@therning.org   jabber: mag...@therning.org
twitter: magthe               http://therning.org/magnus

Perl is another example of filling a tiny, short-term need, and then
being a real problem in the longer term.
     -- Alan Kay

Attachment: pgprpXsvMn1Il.pgp
Description: PGP signature

Reply via email to