We work with SVN and DM too, but do not use branches for DM to prevent merges.
If multiple developers work on the same design, each developer checks out the design. A lock can be used to prevent the update of the same object by multiple developers (if you want).
If you commit changes in SVN, the other developers get informed on these changes by the 'Pending changes'. They can decide whether or not they include those changes.
If you synchronize with the other developer changes, you can create alter or create scripts by importing the target database and generate scripts.
If you want to build a historical version of the model, you check out a version of the design with a specific revision (you can specifiy this during checkout). You build create scripts based for this version.