threads / discuss / 64433

Outreachy Proposal: Refactor Git to reduce global state

Subject: Outreachy Proposal: Refactor Git to reduce global state

## tl;dr

2 messages between Nov 4, 2025 and Nov 5, 2025.

replies: 1people: 2as markdown or json

Queen Ediri Jessa· Nov 4, 2025, 13:46 UTC · lore
Hello mentors,

I’m submitting my Outreachy internship proposal for the project “Refactor Git to reduce global state.” This proposal outlines my plan for the 12-week internship, including my understanding of the project goals, proposed approach, and weekly milestones. I’d appreciate your feedback and approval so I can begin preparations accordingly.

Project Title: Refactor Git to Reduce Global State

Overview The goal of this project is to identify and refactor areas of Git’s codebase that rely heavily on global variables, converting them to localized or function-specific scopes where possible. Reducing Git’s global state improves code modularity, enhances testability, and reduces side effects across different modules.

Objectives
- Study the current usage of global variables within Git’s codebase.
- Identify opportunities to move global variables to local or function scopes.
- Implement refactoring strategies in small, reviewable patches.
- Submit, discuss, and iterate on patches through the Git mailing list.
- Improve maintainability and test coverage of affected modules.
12-Weeks Work Plan

Week 1 – 2: • Study the codebase and related documentation. • Review previous contributions related to global variable refactoring. • Understand how recent global-to-local transitions were implemented.

Week 3 – 4: • Identify specific global variables that can be localized. • Map their dependencies and understand potential side effects. • Draft a clear plan for refactoring each variable.

Week 5 – 6: • Begin implementing small refactors, moving selected global variables to local scope. • Test and verify correctness through existing Git test suites. • Prepare initial patches for submission.

Week 7 – 8: • Submit patches to the mailing list for review. • Gather mentor and community feedback. • Address review comments and refine changes.

Week 9 – 10: • Continue refactoring additional variables or modules as agreed with mentors. • Update documentation if necessary to reflect internal changes. • Maintain consistent communication on progress.

Week 11 – 12: • Finalize pending patches and ensure smooth integration. • Conduct a review of refactored modules to confirm expected behavior. • Document key learnings and results. • Prepare a final summary report and presentation

Expected Outcomes By the end of this internship, Git will have reduced dependency on global variables, resulting in cleaner, more modular, and maintainable code. The project will also provide a clearer path for future contributors to continue reducing global state across the codebase.

Thank you for reviewing my proposal. I'm looking forward to hearing your feedback and guidance.

Best regards,
Queen Ediri Jessa
Email: qjessa662@gmail.com
GitHub: [https://github.com/QueenJcloud](https://github.com/QueenJcloud)

← back to recent threads