> * Additional branch namespaces refs/users/<user>/heads and > refs/vendors/<vendor>/heads, and similar tag namespaces > refs/users/<user>/tags and refs/vendors/<vendor>/tags.
Hmmm. Note to self: I missed the fact that this namespace was also used for tags. > * Only allowing branch deletion for certain ref patterns (refs/users and > refs/vendors in this case). Once we add support for the update-hook, I think you'll be able to implement that feature there. This might be of general interest however, so I'll think about something. Up until now, the configuration options taking patterns have always taken pattern that activate the option of they match. Here, we want "turn this option on, except in those cases". Maybe the way to go is to have two options, both related: - allow-branch-deletion (default: True) - branch-deletion-exception (default: empty list) The second option is ignored if allow-branch-deletion is True. Project that want to reject them all, just sets the option to False. Projects like GCC then use both: allow-branch-deletion: True branch-deletion-exception = <vendors_branch_ref_regexp> branch-deletion-exception = <users_branch_ref_regexp> > * Controlling when non-fast-forward pushes are allowed for ref patterns > outside refs/heads. OK. -- Joel