Git checkout of multiple repos on change in only one

Hi, we have traditionally built locally under Cygwin, but are moving to a Linux VM.
The Cygwin installation is old, and it has been decided to not upgrade it.
We need to build using Cygwin in parallell with the VM still for some time.

I would like to organize a project to have a toplevel git project with
the Jenkinsfile, and then to have a number of git projects under the toplevel.
Right now the project is using submodules for this.

If a change is made in a child module, I still would like to check out the whole tree.

It would be nice to be able to check out with google repo, but we cannot do that with Cygwin.

We have a Jenkins job which checks out
This is started if the git project starts with SW

It is possible to have a separate job which is started,
but since the rules are that the project should start with “SW”
I am not sure how that can be implemented.

IIRC you cannot have overlapping selection criteria, and with many packages
that start with SW, you really do not want to list them.

Another way would be to have a multiplexing job which starts the real job.

Both seems to be a little more complex than I desire.

Any other good ideas?