Skip to content

Commit d25c841

Browse files
committed
rn-101: add interview with Martin Ågren
1 parent b810a62 commit d25c841

File tree

1 file changed

+116
-3
lines changed

1 file changed

+116
-3
lines changed

rev_news/drafts/edition-101.md

Lines changed: 116 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,122 @@ This edition covers what happened during the months of June 2023 and July 2023.
2929
### Support
3030
-->
3131

32-
<!---
33-
## Developer Spotlight:
34-
-->
32+
33+
## Developer Spotlight: Martin Ågren
34+
35+
* Who are you and what do you do?
36+
37+
I'm Martin Ågren. I live in Sweden, where I spend some of my spare time
38+
in the garden or tending to the bees to the best of my abilities. I also
39+
enjoy reading books and listening to music (not at the same time).
40+
41+
* What would you name your most important contribution to Git?
42+
43+
The number of breathtaking features I've contributed is probably a
44+
one-digit number ending in a zero. That said, I think I've contributed a
45+
bit to the documentation by fixing some fairly ugly misrenderings, but
46+
also by aligning the way it's formatted by the two tools we support,
47+
asciidoc and asciidoctor. I guess we'll never know this for a fact, but
48+
there's a chance that I've saved someone's crontab by fixing a bug that
49+
would eat it. I'm very happy that I fixed that bug before it was ever
50+
included in a release.
51+
52+
* What are you doing on the Git project these days, and why?
53+
54+
I'm mostly just tinkering. I very rarely feel like there's something
55+
actually missing from Git. I'm mostly trying to contribute in order to
56+
show that gratitude and to help others, without occupying too much
57+
bandwidth.
58+
59+
* If you could get a team of expert developers to work full time on
60+
something in Git for a full year, what would it be?
61+
62+
Complete the hash function transition. brian m. carlson has done a
63+
tremendous job making sure there are these two parallel worlds, if you
64+
will. What's missing now is making them interoperable. This is not
65+
necessarily the biggest *problem* in current Git, but it could be
66+
something that won't be fixed by short-term, this-quarter,
67+
profit-maximizing actors, so if I could decree a team to work on that
68+
without having to worry about "return on investment" and such, I'd
69+
probably go for that.
70+
71+
* If you could provide users of Git with one piece of advise,
72+
what would it be?
73+
74+
The one thought I would like to somehow convey to everyone using Git is
75+
to commit early, commit often. Whatever crap you have ever had in your
76+
working tree, there's an object containing it. Use `git reset --hard`,
77+
`git rebase`, `git cherry-pick`, whatever floats your boat, you will be
78+
able to bring it back and polish it up into a git history that looks
79+
like you knew what you were doing all along.
80+
81+
I think this is really the point about Git: it teaches you how to
82+
pretend to be a good programmer, and once you start thinking of shaping
83+
your work like that, you actually might turn into one. Not because "fake
84+
it till you make it", that's just bullshit, but because you actually
85+
spend time approaching problems the right way and start thinking about
86+
how you present your solution.
87+
88+
Your "solution" is then not just the state of the working tree ("look!
89+
it compiles and all the tests pass, so it must be good!"), but also how
90+
you got there, as a series of well-motivated incremental changes.
91+
92+
* What is your favorite Git-related tool/library, outside of
93+
Git itself?
94+
95+
I'm a big fan of `tig`, especially `tig blame`. I simply never use `git
96+
blame`. If I'm allowed to count `git/contrib` as "outside of Git
97+
itself", I'll be more than happy to recommend `git jump`. It's not
98+
especially sexy, but I probably use it every single day and I find it
99+
extremely helpful.
100+
101+
* Do you happen to have any memorable experience w.r.t contributing to
102+
the Git project? If yes, could you share it with us?
103+
104+
I still sometimes think back to when I posted my first patch series to
105+
the list. Peff wrote "[...] I'm very impressed with the attention to
106+
detail for a first-time contributor.", to which Junio replied "Yes.".
107+
Of course, a part of even remembering that is vanity on my part, but I
108+
do think those two sentences are fairly representative of each of their
109+
communication styles. They also capture perfectly well the kind of
110+
review style that I wish a lot more projects used. You know, it is
111+
allowed to not just point out something that is wrong or could be
112+
better.
113+
114+
* What is your toolbox for interacting with the mailing list and for
115+
development of Git?
116+
117+
For the list, it's gmail.com, lore.kernel.org/git, `git am`, `git format-patch`,
118+
`git send-email`. I keep thinking I should set up something
119+
more advanced, but for the limited volumes I'm handling, it's fine. For
120+
development of Git [and other stuff], it's Vim, `git diff`, `git add -p`,
121+
`git commit --amend`, `git rebase -i`, `git range-diff`, `tig blame`,
122+
`git jump` (grep,merge,diff) and ... maybe that's about it. Well, `git show`
123+
and `git log` of course. Please note the `-p` in `git add -p`. I would like
124+
to live in a world where no-one blindly does `git add . && git commit`.
125+
126+
* What is your advice for people who want to start Git development?
127+
Where and how should they start?
128+
129+
Do something you enjoy doing. Of all the people born any given year, not
130+
even one of them, on average, will ever become president of the United
131+
States. Don't do open source because it could land you a nice job
132+
somewhere, sometime. Don't do Git development because it seems like a
133+
good investment. Do open source because you believe in it and see some
134+
random thing that you want to contribute to. If you don't see that,
135+
plant a flower instead and watch it grow.
136+
137+
This obviously comes from someone who is privileged enough to be able to
138+
say "don't worry, be happy" and talk in metaphors about gardening. That
139+
said, I do think there's a difference in keeping bees and tending to
140+
them. You shouldn't want to keep them, you should want to help them do
141+
their thing. And if you want to help Git do its thing, great!
142+
143+
Start by lurking on the mailing list to get a feel for how it works.
144+
Then do some small improvement, and avoid growing the scope too much.
145+
Sleep on your patch, review it yourself and iterate that process a few
146+
times before actually sending it off.
147+
35148

36149
## Other News
37150

0 commit comments

Comments
 (0)