On Tue, Jul 1, 2025 at 6:31 PM Patrick Steinhardt <ps@xxxxxx> wrote: > > 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. > Okay, I will fix it. > > 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 Yeah, I suggested this in a discussion with my mentors and was expecting comments regarding the same. I can create a new patch for this change if there's consensus on this.