Вопрос не в том, будут ли отдельные репозитории, а в том, должны ли они управляться как отдельные проекты или нет, что означает, будут ли они разветвляться и объединяться. В Subversion у вас может быть несколько проектов в одном репозитории, поэтому у вас всегда может быть только один репозиторий.
Ответ зависит от того, насколько тесно модули будут связаны друг с другом. Если вы ожидаете, что какая-либо версия одного компонента будет работать с какой-либо другой версией других компонентов, в разумных пределах, тогда они должны управляться как отдельные проекты (каждый со своими собственными trunk
и branches
, поэтому у вас будет theme/trunk
и theme/branches
и plugin/trunk
и т. Д.). Если вы ожидаете, что модификации будут касаться более чем одного компонента, ими нужно управлять как одним проектом (один trunk
и branches
, поэтому у вас будет trunk/theme
и trunk/plugin
и т. Д.).
Кстати, я бы предложил пересмотреть выбор Subversion. Более новые распределенные системы (в порядке популярности Git , Mercurial и Bazaar ) предлагают большую гибкость и превосходное разветвление и объединение. Реализация subversion по-прежнему показывает неровные края после этих лет, в основном потому, что базовая модель не очень подходит для ветвления.
В отличие от subversion, распределенные системы всегда имеют один проект на репозиторий, потому что ветки - это отдельная концепция, поэтому у вас будут отдельные репозитории (в любом случае на одном сервере), если вы решите иметь отдельные проекты.