git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Queen Ediri Jessa <qjessa662@gmail.com>
To: git@vger.kernel.org
Cc: christian.couder@gmail.com, usmanakinyemi202@gmail.com
Subject: Outreachy Proposal: Refactor Git to reduce global state
Date: Tue, 4 Nov 2025 14:46:26 +0100	[thread overview]
Message-ID: <CA+JX8FoKKB8LrCbPgXgiqSLvtpk=HBsxCcZAW2M_Y1-Of48Y+Q@mail.gmail.com> (raw)

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)


             reply	other threads:[~2025-11-04 14:14 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-04 13:46 Queen Ediri Jessa [this message]
2025-11-05 11:12 ` Outreachy Proposal: Refactor Git to reduce global state Usman Akinyemi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CA+JX8FoKKB8LrCbPgXgiqSLvtpk=HBsxCcZAW2M_Y1-Of48Y+Q@mail.gmail.com' \
    --to=qjessa662@gmail.com \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=usmanakinyemi202@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).