Naja,
wir machen das so:
Der trunk ist die Hauptentwicklungsversion.
Wenn ein neues Release (Wartung oder Featurerequest) fällig ist wird ein Branch gezogen.
Sollte ein Bug behoben werden in einem Release, dann wird der dort ausgebessert und
nach oben (also in die neueren Branches bis zum trunk) gmerged.
Würde das Problem also beheben, denke ich.
Und jeder Branch ist immer auscheckbar.
Ach ja, jeder Build wird bei uns getagt.
SVN fährt ja unterschiedliche Versionsnummern pro File.