@timothyandrew How much effort do you estimate it will take to find all places that touch branch permissions for users and groups and add project.feature_available?(:branch_permissions_for_users) checks to them (both on frontend and backend), so that this feature can be turned off for a specific project in its entirety by having that method return false?
Douwe Maanchanged title from Namespace license checks for branch permissions for users to Namespace license checks for branch and tag permissions for users and groups
changed title from Namespace license checks for branch permissions for users to Namespace license checks for branch and tag permissions for users and groups
@DouweM The CE code has different javascript files which would need to be added to EE as well as different views, validations and tests. Easy to find the places to turn things off, but more work to bring the CE code paths in alongside EE ones.
@DouweM /cc @jamedjo : (regarding the backend) As far as I remember, all the code touching protected branches is encapsulated within the ProtectedBranch model - we'd probably only need to modify a few methods in there to enable this check.
Things might have changed since the original implementation, so I'd say two days of work or so to find+fix other potential corner cases.
It'll have moved to the ProtectedRef model mostly, but the controllers would also need refactoring. I think the longest amount of time would be cleaning up and refactoring the tests, followed by bringing in the CE javascript code and views.