On Sat, Feb 24, 2018 at 7:00 AM, Duy Nguyen <pclouds@xxxxxxxxx> 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