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
pgprpXsvMn1Il.pgp
Description: PGP signature