Re: The git spring cleanup challenge
- From
Đoàn Trần Công Danh <congdanhqx@gmail.com>
- Date
- Jun 1, 2021, 07:47 UTC
- Message-ID
- <YLXl5+ronWhcGh13@danh.dev>
- In-Reply-To
- <60b5d281552d6_e359f20828@natae.notmuch>
On 2021-06-01 01:24:01-0500, Felipe Contreras <felipe.contreras@gmail.com> wrote:
Show 12 quoted lines
> Hello, > > The premise is simple: git.git developers are experts in git, and therefore > they have fine-tuned their ~/.gitconfig to a point that is pretty far > from what any newcomer will experience for a long time. > > How long can you survive with a pristine configuration? > > Plenty of developers take many things in their configuration for > granted, they forget what the default behavior is, or worse: they forget > they actually have configured log.decorate, and are surprised when they > discover the reason they could not reproduce a bug report.
OK, the person that forgot having log.decorate configured is me.
Show 12 quoted lines
> Now and then I cleanup my configuration to be reminded of that fact. > > Anybody remembers merge.defaultToUpstream, and what `git merge` without > arguments used to do? [1] What about sendemail.chainReplyTo? [2] > > It's important that we force ourselves to experience what an > unconfigured git setup looks like, even if it's just for a little bit. > > So the challenge is this: > > 1. Remove all the configuration that is not essential (just leave > user.name and user.email or equivalent)
How about alias? It's part of my muscle memory.
> 2. Pick 2 configurations you think you can't live without. You are not > allowed to change them afterwards.
Something is essential when working on constantly integration tree, I don't want to make my life hard:
* rerere.enabled = true * rerere.autoupdate = true
Something is there to shut up advice, I can live without those configuration value, though (I don't use git-pull these days, anyway):
* pull.rebase = false
Working with patch based need:
* sendemail.smtpserver * sendemail.smtpencryption * sendemail.smtpuser * credential.helper
My GnuPG key is Ed25519, and gpg v2 in my machine is named gpg2, so: * gpg.program = gpg2
And I would like to try new shiny features:
* feature.experimental = true
> 3. Every day you can add 1 additional configuration (and update it the > next day). > 4. The moment you add a 4th configuration you lose.
So, my baseline already requires 8 key-value pairs (ignoring alias and pull.rebase). I'm lost already.
-- Danh