I would like to request a significantly improved permissions system for repositories. The current system is simply not scalable to environments that have a large number of repositories and a large number of users with different permissions on them. Specifically, when most of these repositories are branches of a main repository and, consequently, cannot be part of different projects.
The most simple use case examples where the current system is problematic:
I have a source customer who I want to be able to have pull access to our main repository, but no access at all to any of the branches. I currently have to give them pull access to the project, then override the permissions for every single branch (20+) to restrict their access. But I cannot just override the permissions for that single user -- I have to specifically specify permissions for every user who should have access to that repository, which ends up with me having to manually handle over 20 different permissions systems. Then a new developer comes along, and I give him read/write access to the project so he can push and pull from our trunk, but I still have to go manually give him permissions to each of the 20+ branch repositories. As you can see, this gets out of hand quickly and turns into a nightmare.
I can think of two changes that would significantly improve these situations without requiring (I don't think) a 100% overhaul of the permissions system:
1) Allow administrators to override just a single user's permissions on a repository (keeping every others user permissions the same as the default project level permissions), rather than requiring them to create completely custom permissions from scratch.
2) Allow administrators to grant higher access when overriding than the default project-level allows.
Those two changes would significantly clean up the use case described above.