I recently discovered a gem (no joke here) called Subversion Automation, it’s aimed to provide an unified layout to handle your projects branching/tagging in subversion and more importantly automate the process through a simple command : sc .

It currently handle some key aspects of a project management :

release :

Allows you to create a release branch (major.minor), or tag a release (macro). It creates a branch for the release and a tag for it.

bug

Allows you to work with release branch bug fixes, in fact it handle the creation of a unique branch based on a bug name/id and then the merge to the corresponding release branche and to the trunk. Really useful to track bug fix changes.

experimental

Allows you to work on some experimental code in a branch wich can be merge with the trunk in both direction.

Subversion Automation is really worth a try, even if it could be hard to use on existing project due to the subversion layout changes implied, but it’s up to you.