Re: [PATCHv4 00/27] Moving global state into the repository object (part 1)
From: Stefan Beller <hidden>
Date: 2018-02-26 20:50:51
On Sat, Feb 24, 2018 at 7:00 AM, Duy Nguyen [off-list ref] wrote:
I notice that there are a few global state (or configuration rather) left after this: packed_git_window_size, packed_git_limit and delta_base_cache_limit. These can be changed by $GIT_DIR/config, but since it's still global, a submodule repository will use the same settings of its super repository. If $SUBMODULE/config changes any of these, they are ignored.
That sounds all packing related, which I plan on working on next.
The natural thing to do is move these to raw_object_store too (and repo_submodule_init needs to check submodule's config file). But one may argue these should be per-process instead of per-repo though. I don't know. But I thought I should mention this.
For now a process and a repository is the same as git-gc or git-repack doesn't know about the --recurse-submodules flag, yet. I wonder if we ever want to teach those commands the submodule recursion, because of the issue you bring up, which settings do we apply for a submodule? Traditionally we'd just have the command line override the configuration, which I don't know if it is a good idea for these settings. Thanks, Stefan