Thread (13 messages) 13 messages, 4 authors, 2026-01-30

Re: [PATCH 3/3] show-index: remove global state variables

From: Shreyansh Paliwal <hidden>
Date: 2026-01-21 12:48:07

On 20/01/2026 14:05, Shreyansh Paliwal wrote:
quoted
As Git is in the process of removing global state,
this function still relies on the global variables,
the_repository and the_hash_algo.

Remove the associated macro and the UNUSED attribute from
the repo parameter, and replace all uses of the_repository and
the_hash_algo with repo and repo->hash_algo, respectively.
I don't think that is a good idea because repo will be NULL outside of a 
repository. For a lot of commands that does not matter because they 
require a repository to run but judging from the first patch in this 
series this command is supposed to be able to run outside a repository.

I'm increasingly of the opinion that adding a repository argument to the 
builtin commands was a mistake as they all just use a single repository 
so using "the_repository" seems perfectly reasonable. It leads to 
problems like the segfault in this patch and takes attention away from 
the much more useful task of moving our library code away from using 
That makes a lot of sense, especially for the commands
which are meant to run outside the repo as well.
In hindsight, the NULL repo issue and the segfault risk
should have been obvious to me, particularly given that I started
by creating the hash detection for no-repo cases :)

Anyways I will drop this patch in the next version.
"the_repository". If you're interested in contributing to that effort 
then there are a number of instances of "the_repository" in wt-status.c 
that can be trivially replaced by the repository instance in "struct 
wt_status" or the repository passed to the function. I'm not sure how 
easy it is to remove them all - you might need to change the code to 
pass a repository instance down the call chain in a few cases but there 
are certainly quite a few that can be easily and usefully cleaned up.
Yes sure, I will take a look and see where I can contribute in wt-status.c,
towards reducing global-state usage.

Best,
Shreyansh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help