The git spring cleanup challenge
- From
Felipe Contreras <felipe.contreras@gmail.com>
- Date
- Jun 1, 2021, 06:24 UTC
- Message-ID
- <60b5d281552d6_e359f20828@natae.notmuch>
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.
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)
2. Pick 2 configurations you think you can't live without. You are not
allowed to change them afterwards.
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.Once you've lost, reply to this message with the configuration you could not live without.
These are the configurations I've chosen:
[merge]
conflictstyle = diff3
[sendemail]
smtpserver = /usr/bin/msmtpIf if not clear yet, I hope by the end of this little experiment we will have at least one configuration that surely everyone can agree needs to become a default.
Do you think you can survive one month?
Good luck!
[1] https://lore.kernel.org/git/1296231457-18780-1-git-send-email-felipe.contreras@gmail.com/ [2] https://lore.kernel.org/git/1369453492-20972-1-git-send-email-felipe.contreras@gmail.com/
-- Felipe Contreras