Если каждая конкретная установка будет иметь свой собственный жизненный цикл и управление версиями, то вам потребуется возможность разветвлять и маркировать каждую из них независимо.Тем не менее, чтобы упростить объединение изменений из прототипа в каждую конкретную версию, все версии должны находиться в одном и том же хранилище.
Поэтому я бы построил хранилище в соответствии с:
Prototype
Branches
Tags
Trunk
SpecificTypeA
Branches
Tags
Trunk
Common
Branches
Tags
Trunk
Еслиесть любой общий код, который применяется ко всем установкам (т. е. код с белой меткой), тогда я бы сохранил его в отдельном (общем) репозитории и ввел dll через внешние SVN.
SpecificTypeA
Trunk
Src
ExtLib*
Где ExtLib представляетссылка на конкретную помеченную ревизию общего кода.
По сути, сохраняйте столько кода, сколько требуется в ветвях Prototype / Specific Version.