On Wed, Apr 17, 2024 at 05:38:29PM +0000, Karthik Nayak wrote: > Patrick Steinhardt writes: > > > Refactor the code and create a common `initialize_repository()` function > > that gets called from `repo_init()` and `initialize_the_repository()`. > > This function sets up both the repository and the index as required. > > Like this, we can easily special-case when `repo_init()` gets called > > with `the_repository`. > > > > Nit: `initialize_the_repository()` calling `initialize_repository()` > doesn't really indicate what each of them does and why we have two > functions which are similarly named but calling each other. Maybe we > should rename them? I think once you know about `the_repository` it isn't all that bad. Whereas `initialize_repository()` initializes any repository, `initialize_the_repository()` only initializes `the_repository`. But you know, let's further simplify this and move all initialization logic into `initialize_repository()` to make this hopefully clearer. And on top of that we can then also drop `initialize_the_repository()` completely by statically initializing the `the_repository` pointer so that callers can simply call `initialize_repository(&the_repository)` instead. Patrick