Git Submodules, subtrees, subrepos to deny read permissions to some users on whole code

We are going to move the current SVN source repository to GitLab.
My question is about the best approach to manage permissions on part of a repository.
In SVN it was possible to define permission so that some user do not have access to the whole code, but only to subfolders.

The idea is to convert the repository from SVN to Git and then split it into several parts and each one will be in a different repository in GitLab. Then I’m going to create another repository that will be the container of all of them. This way our application can be built using all repository at the same time by cloning the container repository.

The final aim of all of this work is to be able to have some granularity on the Git repositories, so that new developers we might hire in future will only have access to one or more Git repositories, not to all of them and not to the container one.

I’m testing different approaches using Git submodules, Git subtrees and Git subrepos, trying to
understand the differences and which one would be the best for us.

Currently I’m opting for the subrepo approach because normal developers will not note any different than the previous configuration: they will simply clone the container repository. For new developers instead we will give them only access to a subrepository and in case push/pull to the container repository the code the developers work on the subrepository.

Any suggestions for a better solution? Someone has already tested this approach?

Thanks in advance!