Multi project file structure (growing dev team)

I currently have about 30 devs/designers on my team w/about 15 projects and growing. We want to use GitLab for our version control and file management with these projects. Currently on GitLab.com but will migrate to self hosted eventually.

For each projects in our pipe I have the codebase stored in this structure:

gitlab.com/ ourepo/ clientprojects/ tree/ master /inprocess /PROJECTA

For a little more context, here is my whole GitLab structure:

AGENCY

  • clientprojects
    – cancelled
    – closed
    – inprocess
    — projects

When a dev is working in the inprocess folder on a particular project, often pushing/pull is slowed because they are really pushing/pulling the whole clientprojects repo. We even have seen random error messages (see attached). As we grow the problem will be worse.

How can I best structure my projects in GL for a growing agency but also only let devs manage, push/pull the ones they are working on?