Subject: Re: A Question from a Hopeful Future Contributor

From: "brian m. carlson" <[email-masked]>
Date: Sat, 19 Jul 2025 22:16:32 +0000

On 2025-07-18 at 22:26:31, Eric Frederickson wrote:
> Hello everyone,

Hi,

> I hope that this message finds you well! I'm a software developer and passionate
> git user, and I'd like to try my hand at contributing to the project. I'm
> sending this message in order to ask Junio and the team if there's anything that
> would be particularly useful / appropriate for me to start looking into on that
> front. (Reading through the last few "What's cooking" messages, I didn't see
> anything that jumped out at me as needing a new contributor, which is why I'm
> asking in a separate message instead of replying to one of those.)

It's great to hear that you want to contribute.

> (Some notes on my skills: working on docs or tests is always a favorite for me,
> so things in those areas would be a great time. Also comfortable with low-level
> code, and any kind of scripting. Note too that academic background centers
> around programming language design and parsing related stuff, so I've got some
> fluency in those areas that I could hopefully apply well to the project if ever
> needed.)

We have a Git FAQ because I answered questions on Stack Overflow and got
tired of answering the same question again and again, so if you want to
add any common problems there, that's of course welcome.  (Now, to be
clear, people did not stop asking those questions, but I had prepared
text and a link to provide to them, and then people _knew_ that we had a
FAQ and could refer to it.)  If there's anything that you think is
poorly documented and colleagues or people online have trouble with, we
would absolutely love for that documentation to be improved.

One thing I did to get started some years ago is to grep through the
codebase for TODO statements and to pick something that seemed simple
enough to do, and then send a patch.

If there are small functions that you think would benefit from unit
tests, we now have the framework for that that we lacked until recently.

If you see things in the tests marked test_expect_failure, then that
means that's a TODO test: it should pass, but it presently does not, and
that can sometimes be a source of good things to work on.  Some of those
things are kind of big (especially a lot of the submodule TODOs), but
sometimes they're small and approachable.

Hopefully one of these options bears fruit for you, and please don't get
discouraged if you wander into something that ends up being very
complicated at first.  We have lots of those in our codebase and with
time, you'll also feel more confident in tackling those.
-- 
brian m. carlson (they/them)
Toronto, Ontario, CA