On Mon, Jun 30, 2025 at 10:11:04PM +0530, Ayush Chandekar wrote: > The 'extensions.preciousObjects' setting when set true, prevents > operations that might drop objects from the object storage. > This setting is populated in the global variable > 'repository_format_precious_objects'. > Move this global variable to repo scope by adding it to struct > `repository` and also refactor all the occurences accordingly. Tiny nit: the line wrapping of this paragraph is a bit weird -- it should generally wrap at 72 characters and paragraphs are typically separated from one another by an empty newline. > diff --git a/repository.c b/repository.c > index 9b3d6665fc..62709d1c91 100644 > --- a/repository.c > +++ b/repository.c > @@ -284,6 +284,7 @@ int repo_init(struct repository *repo, > repo_set_ref_storage_format(repo, format.ref_storage_format); > repo->repository_format_worktree_config = format.worktree_config; > repo->repository_format_relative_worktrees = format.relative_worktrees; > + repo->repository_format_precious_objects = format.precious_objects; > > /* take ownership of format.partial_clone */ > repo->repository_format_partial_clone = format.partial_clone; The list of variables that we copy from `format` grows longer and longer. I wonder whether it would make sense to embed a `struct repository_format` in the repository and then copy over the whole structure? Patrick