Unfortunately gitlab relies on its url schema to get its group/user permissions per repo.
The only way I can image is that one could use custom rewrite rules in the frontend web server. These rules then would rewrite all requests appropriately to the gitlab naming schema. This would of course require that your developers only used http(s) to access the repos.
This approach would not break your code from the upstream code base.
However, if you were using ssh:// as well (which is recommended by git), the only way I see is that you do a rewrite of the path in the gitlab-shell:
The class GitlabShell
has a this parse_cmd method
def parse_cmd
args = Shellwords.shellwords(@origin_cmd)
@git_cmd = args[0]
@repo_name = escape_path(args[1])
end
in which you could fiddle around with @repo_name.
This approach would break your code from the upstream code base.
I'm sorry but as you did not specify any example repo path its hard to make up a more concrete example.
Personally I'd go with the migration to import the repos and publish the new urls. If you can provide a list of git remote set-url origin ssh://git@gitlab.acme.com/newgroup/imported.git
to your colleagues that would minimize the work on their side I guess.