Refresh (WT): per-repository option to ignore scanning of submodules
I'm doing embedded development, and my main repository has lots of enormous submodules (Linux, U-Boot, Buildroot). Even worse, I'm working on a networked drive. The results: updates sometimes take a minute or more.
I'd like to have a project-level option to ignore submodule contents. When necessary, I can open the submodules separately and update them that way, but most of the time I won't need to make submodule changes.
Customer support service by UserEcho
Are the submodules registered/tracked (i.e. exist for all users) or nested roots (i.e. only exist for you)? What exactly is slow with these large submodules: initial scanning of the repository, refreshing, pulling, switching branches, ...?
They are indeed registered for everyone. In other words, there's a .gitmodules file in the top repo with the following (partial) contents:
What is slow is just about everything. And again: this is over a networked drive (with sshfs), so that's part of the problem, but it isn't something I can easily make local, as the build system depends on Linux, and I'm running on a Mac.
When changing Preferences, Low-Level Property "refresh.scanIntoSubmodules" to "false" -- does that resolve the problem?
Well, things are now a bit faster (where "a bit" means "two orders of magnitude". Yowza. ;)
I presume this is an application-level preference; can this be done on a per-repo basis? And, there doesn't seem to be a UI indication that submodules aren't being scanned (I just tweaked a submodule, and the top repo still shows "Unchanged"); could there be? Best case would be some sort of "Unmanaged" indication, with a method to open and see the state of that submodule.
I have updated the subject. Do you agree?
Works for me: thanks.