Re: git should not use a default user.email config value
- From
Michael Haggerty <mhagger@alum.mit.edu>
- Date
- Aug 14, 2013, 07:09 UTC
- Message-ID
- <520B2D11.2080405@alum.mit.edu>
- In-Reply-To
- <20130813114635.GA16506@sigill.intra.peff.net>
On 08/13/2013 01:46 PM, Jeff King wrote:
Show 30 quoted lines
> On Tue, Aug 13, 2013 at 09:05:40PM +1000, Andrew Ardill wrote: > >> I applied this on top of latest next (1da3ebde8999d07), and it worked >> perfectly for my use case. >> >> For what it's worth, it also passed the test suite! >> >> Would be great to see this, or something on the same theme, get into >> master. I'd be happy to review patches/write tests/write documentation >> if needed. > > Like I said, I do not have a particular use for it, but I don't think it > would hurt anybody who does not use it. If you want to polish it up into > a real patch with docs and tests, I don't mind. > > The only downside I can think of is that we might want to use the > subsection in "include.SUBSECTION.*" for some other limiting conditions > (e.g., "only include this config when running version >= X.Y", or even > "include only when environment variable FOO is true"). > > I guess we could do something like: > > [include "repo:...your regex here..."] > path = .gitconfig-only-for-some-repos > [include "env:USE_MY_MAGIC_CONFIG"] > path = .gitconfig-only-when-magic-env-set > > Adding the "repo:" prefix for this repo-dir matching is pretty trivial. > Adding a similar env-matching is only slightly less trivial; but does > anybody actually want it?
Gaaak! Let me again plead for supporting a post-clone hook rather than inventing some crazy config-file syntax that is becoming ever more complicated. A post-clone hook would make all of these things that have been suggested pretty easy, and would also open lots of other possibilities, all without further changes in git.core, like (I'm just brainstorming here):
#! /bin/sh
remote="$1"
ln -s $(HOME)/.githooks/* .git/hooks
case "$(git --version)" in
*.1.[78].*)
git config include.path "$(HOME)/.gitinclude
;;
esacecho "(cd $(pwd) && git gc)" >>"$(HOME)/cron.weekly/git-gc"
case "$remote" in
*.work.com/*)
git config user.email me@work.com
;;
*.github.com/*)
git config user.email me@debian.org
;;
*)
echo '### Remember to set user.email ###'
;;
esacMichael
-- Michael Haggerty mhagger@alum.mit.edu http://softwareswirl.blogspot.com/