Отвечать на вопрос в Вашем заголовке непосредственно: нет, Вы не имеете к. Репозитории SVN могут быть организованы в любой структуре папок, которую Вы выбираете.
Однако это - вероятно, хорошая идея, по крайней мере, поместить все в магистральную папку на данный момент, так, чтобы, если бы позже Вы передумали и решаете, что ветвление или метки были бы полезны, можно было добавить папки ответвления/тега легко, не имея необходимость перемещать все.
Я использую каталоги ответвления/тега/соединительной линии в Подверсии даже для тривиальных проектов. Это - в значительной степени нулевая стоимость и стоит того в непротиворечивости. Я всегда знаю, как мой проект будет размеченным, если я когда-нибудь должен делать контроль.
Они - конвенция, поэтому что повреждает добавлять их. Если Ваш проект переходит к сути дела, где Вам нужны они, то намного легче иметь в распоряжении их с начала, чем попытаться включить их после факта.
В моем репозитории SVN у меня есть одиночная соединительная линия / ответвление / каталог тега. Я поместил все свои проекты в соединительной линии и организую мое ответвление и отмечаю каталоги отдельно на основе проектов, которые на самом деле достигают taggable состояния. Конвенция могла бы предложить использовать ответвление / тег / магистральный каталог для каждого проекта однако, который может быть непрактичным, если Вы не ожидаете отмечать и переходить.
Даже персональные проекты могут извлечь выгоду из нечастых меток и ветвления, прежде чем майор перепишет или после длинной паузы.
Обычно (или вполне очевидно), ветвление/метки чрезвычайно полезно в командах, где многие кодеры будут работать с источником одновременно. Каждый кодер работает в их собственном ответвлении, таким образом, нет никакого риска сохранения по чужой работе.
Как разработчик с одной армией человека, я все еще нашел ветвление/метки полезным когда:
Я должен сделать экспериментальное ответвление, не разочаровываясь в текущем рабочем источнике. Я объединюсь, это въезжает задним ходом, если экспериментальный код оказывается лучше.
Если у меня есть несколько отдельных компонентов, может быть полезно отметить каждого с именем, обозначающим номер версии проекта и поместить их в папку тега, названную в честь проекта. Это помогает следить, когда Вы хотите вернуться к версии 1.0.5.10 и должны знать то, что изменило в компоненте Foo. Примечания фиксации не могут быть достаточно информативными.
По моему опыту, 'магистральное/ответвление/тег' организация является вполне прилично используемым расположением для управления исходным кодом. Я видел, что это реализовало во многих различных организациях с помощью различных инструментов (ClearCase, SVN, CVS, для именования некоторых). ClearCase устанавливают, я в настоящее время работаю с, немного более сложно (замысловатый?), но, вообще говоря, сопровождаемый очень похожее расположение.
Хотя это не требуется в SVN, я настоятельно рекомендовал бы привыкание к этому типу расположения, включая слияние с различными ответвлениями и соединительной линией.
Для персональных проектов я нахожу, что метки ценное средство сохранения заключительных, неизменных выпусков. Ответвления обычно резервируются для экспериментальных касательных, таким образом, я не уничтожу новую (стабильную) версию своего кода, прежде чем действительность умрет.