Branch in Visual sourcesafe

Amount all those version control system, visual source safe is not the best one for sure.
And maybe the worst…but company policy, so…
No matter what you are developing, branching will come to your face one day.
It is not that straight forward for roll-back and branching in VSS.

In the Visual SourceSafe Explorer, right-click on the project that you want to branch. Then Select Show History.
In the Project History dialog box, select the recursive option if all subprojects and their files are wanted. Click OK.
Select the version you want to branch, and click the Share button. Select the branch after share on the lower left.
Select the project in which you want to create the new branch. Click OK.
In the Share dialog box, type the name you want to give to the new branch and
check the recursive checkbox if you want to branch subprojects. Click OK.

General terms and concept about version control

I use SubVersion for version control.

commonly there are three directory :

/trunk
/branches
/tags

trunk is use for mainline development, where developer commit source to it everyday.

it is where the latest source located. for keeping daily changes.

branch is a line of development that exists independently, but share a common history.

just like Joomla and Mambo. for keeping releases. e.g. version 1.0

tag is a snapshot of the whole project, just like a release. nobody should commit anything to it.

e.g. version 1.0.0

bugs and features are handled in trunk and then port to branch, you may take another snapshot. e.g. version 1.0.1.

if a core design or architecture change, then move to another branch. e.g. version 2.0.

this is just a concept, you should find your own which makes you comfortable.