I was glad to see the new feature BB-6761 (https://bitbucket.org/site/master/issue/5554/branch-permissions-bb-6761), but unfortunately it doesn't quite give me what I was hoping for.
In our case, we want the default behavior to be that branches can't be deleted or re-written, but to give exceptions to that rule on a per-branch or per-pattern basis. Essentially, we want developers to be able to set up their own "working" branches that they can rebase or delete to their hearts' content, but have the default behavior be to protect branches.
Since the new configuration only gives us the option to specify branches that are "protected", we can't really do what we want without explicitly listing each "protected" branch.
Essentially, I'd like to be able to say something like: "Prevent rewrites on: , except for: dev_", or "Prevent deletes on: , except for: tmp_", etc.
I also realize that we could probably work around this to some extent by coming up with a different naming convention for our branches, but even then I still feel like there will be cases where specifying "non-protected" branches would be useful.