I don’t see how this can be achieved with the default sets of permissions, but maybe I overlooked them.
Here is a more concrete example.
Assume 10 users: user1, …, user10
And two guest users: guest1, guest2
Every user has some (let’s say 3 repositories):
user1/repoA, user1/repoB, user1/repoC
I would like that user1-10 have read-access to all repositories. If I got it right one possibility is to set the repositories as internal.
Additionally. guest1 and guest2 shouldn’t all the repos, but only the one they have been explicitly added to.
For example guest1 is a Developer in guest5/repoA and guest2 is Developer in guest3/repoC.
If I make internal repositories I think that also guest1 and guest2 will see all the repositories of all users, right?