Perhaps you guys should read "Git Branches Considered Harmful" [1] in the ZeroMQ C4 documentation [2]. They have similar problems to D where there is no easy way to split up responsibility across the source code.
Basically they say branches should only be internal. To make a release one should fork the repo. Its better said in their docs though. It reads a bit like an RFC.
If you did that then build master could create the release forks.