This would involve several things, and it may be that you protect Subversion using the email and password of the member to ensure that no updates can be done by non-members.
Even if you are using Git internally you could use git2svn to push the releases to trunk, and use an unstable branch for betas.
Further, for this to be really usable it should be possible to perform *all* customisations, including custom code, without ever having to modify the source code of the shipped files.
This really opens up the door to multi-domain installs driven from a single install too, as a HTTP header could be used to instruct which config file to use.
It also helps with security as a lower privileged user on a cron could perform the updates, which means that the web user would never need to be able to write the files (just read them).
Basically, I want my updates between versions to be nothing more than: svn up