[GSOC PATCH 0/2] mailmap: reduce global state
- From
Burak Kaan Karaçay <bkkaracay@gmail.com>
- Date
- Feb 19, 2026, 12:59 UTC
- Message-ID
- <20260219125954.3539324-1-bkkaracay@gmail.com>
Hi,
I am an applicant for GSoC 2026, aiming for the "Refactoring in order to reduce Git's global state" project. I have already submitted my microproject, so please treat this series simply as an extra familiarization exercise to better understand the codebase and the goals of the project.
The project description mainly focuses on 'environment.c' but I noticed that an Outreachy intern is currently working in that area. To avoid stepping on anyone's toes or duplicating work, I decided to look for other subsystems and chose 'mailmap.c', which currently relies on 'the_repository' and global configuration variables.
This patch series aims to reduce the global variable dependency of the mailmap subsystem:
- Patch 1 eliminates the implicit 'the_repository' dependency in the
'read_mailmap' and 'read_mailmap_blob' functions by adding a
'struct repository' parameter. - Patch 2 removes the 'git_mailmap_file' and 'git_mailmap_blob' global
variables, shifting to on-demand configuration reading via the config
set helpers and using local variables.Thanks.
Burak Kaan Karaçay (2): mailmap: stop using the_repository mailmap: drop global config variables
builtin/blame.c | 2 +- builtin/cat-file.c | 2 +- builtin/check-mailmap.c | 4 ++-- builtin/commit.c | 2 +- builtin/log.c | 2 +- builtin/shortlog.c | 2 +- environment.c | 19 ------------------- mailmap.c | 30 +++++++++++++++++++----------- mailmap.h | 8 +++----- pretty.c | 2 +- ref-filter.c | 2 +- 11 files changed, 31 insertions(+), 44 deletions(-)
-- 2.52.0