Is it possible to have the project-level setting of "Allowed to push" to be set to "No one" so that we don't have to rely on all users to remember to set this protection? Use case essentially being the same as the one the feature used, but also because it'll keep us from having to train hundreds to thousands of users on enabling that setting every time they make a project.
The issue is not that branches cannot be protected to no one, as you point out, there is a setting for an individual project to do so. The issue is that the protection setting itself cannot be defaulted at the system level for all new projects created.
I can see use cases for both... And it would only make sense to set it as a hierarchy. We have a global level that is the default, but can be overwritten by a group's configuration which then can be overwritten by a project's configuration (as anything else). For our company's use case, a global configuration would be the best way to set this up because we have an overall process that we want all groups to follow.
I removed my mention in issue #1075 (closed) as the default protection would not suit our needs. With our workflow we need to leave our developer branches able to push, but our release branches need to be protected. So we wouldn't use the default, but the API enhancements from #1075 (closed) would be ideal.
I'm running into this need as well. Would love to have an admin level setting for the default protected branch in a new project. Setting it at the group level sounds like the right approach. Would want to be able to configure which branch is default and protected (as we have currently), but also have options to restrict who is allowed to merge and who is allowed to push to the protected branch and not let the developer change that. Really just a group policy enforcement thing