threads / discuss / 65006

[GSoC 2026 Inquiry] Refactoring global state

Subject: [GSoC 2026 Inquiry] Refactoring global state

## tl;dr

3 messages between Feb 17, 2026 and Feb 17, 2026.

replies: 2people: 2as markdown or json

Tian Yuchen· Feb 17, 2026, 07:57 UTC · lore
Hi Christian, Karthik, Justin.. and Git community,

My name is Tian Yuchen. I am an undergraduate year 1 student who's new to the Git community. I've been hanging around the community for over a month now, contributing almost every day. I really love the vibe here!

I'm quite interested in applying for the GSoC project "Refactoring in order to reduce Git's global state":

Coincidentally, just as the new idea list for this year was released these past few days, I've been working on a patch that has some connections to this project. (setup.c: handling named pipes/FIFOs during git directory discovery, currently in v4). Indeed, based on my experience, this requires tremendous patience, but I'm more than willing to give it a try.

I understand that removing global state is a massive, multi-year effort. I assume the goal of the GSoC project is not to finish everything, but to pick a specific area or a set of related modules and migrate them to use 'struct repository' explicitly.

My Question:

Do you have a specific module or subsystem in mind that you would like to prioritize for this summer?

For example, would focusing on 'environment.c' (as mentioned in the idea list) be the primary target, or are there other areas (like 'config.c' or 'setup.c') that are currently blocking other major features?

I would love to align my proposal with the community's current priorities. Thanks for your time!

Regards,
Yuchen
Karthik Nayak· Feb 17, 2026, 12:16 UTC · re: Tian Yuchen · lore

Re: [GSoC 2026 Inquiry] Refactoring global state

Tian Yuchen <a3205153416@gmail.com> writes:
Show 6 quoted lines
> Hi Christian, Karthik, Justin.. and Git community,
>
> My name is Tian Yuchen. I am an undergraduate year 1 student who's new
> to the Git community. I've been hanging around the community for over a
> month now, contributing almost every day. I really love the vibe here!
>
Hello Tian,
> I'm quite interested in applying for the GSoC project "Refactoring in
> order to reduce Git's global state":
Happy to hear that.
Show 12 quoted lines
>
> Coincidentally, just as the new idea list for this year was released
> these past few days, I've been working on a patch that has some
> connections to this project. (setup.c: handling named pipes/FIFOs during
> git directory discovery, currently in v4). Indeed, based on my
> experience, this requires tremendous patience, but I'm more than willing
> to give it a try.
>
> I understand that removing global state is a massive, multi-year effort.
> I assume the goal of the GSoC project is not to finish everything, but
> to pick a specific area or a set of related modules and migrate them to
> use 'struct repository' explicitly.

Yup, that's correct, this was also a project a contributor worked on, last year.

Show 10 quoted lines
>
> My Question:
>
> Do you have a specific module or subsystem in mind that you would like
> to prioritize for this summer?
>
> For example, would focusing on 'environment.c' (as mentioned in the idea
> list) be the primary target, or are there other areas (like 'config.c'
> or 'setup.c') that are currently blocking other major features?
>

AFAIK We don't have any specific subsystem to focus, albeit some subsystems are tightly coupled and hence can be more complex (e.g. 'setup.c'). So my advice would be to find a good balance, you could also take tips from the patches submitted from the previous year.

> I would love to align my proposal with the community's current
> priorities. Thanks for your time!
>
Thanks for checking in, perhaps others on the list have more to say.
> Regards,
>
> Yuchen
Karthik
Tian Yuchen· Feb 17, 2026, 15:55 UTC · re: Karthik Nayak · lore

Re: [GSoC 2026 Inquiry] Refactoring global state

Hi karthik,
Thanks for the swift reply and encouraging words!
> AFAIK We don't have any specific subsystem to focus, albeit some
> subsystems are tightly coupled and hence can be more complex (e.g.
> 'setup.c'). So my advice would be to find a good balance, you could also
> take tips from the patches submitted from the previous year.

Point taken. My recent experience with the 'setup.c' patch definitely taught me to respect the complexity of that subsystem. I agree that making it the primary target for the entire summer might be too risky.

I will follow your advice to dig into archives and log to study how previous contributors structured their changes.

Thank you again for the feedback!
Regards,
Yuchen

← back to recent threads