Это очень интересный вопрос, потому что правильный старт имеет много преимуществ (модульность, слабая связь ...). Во всяком случае, вот как я бы начал:
1) положить все в багажник:
http://svn/application/trunk/application
2) если возможно, начните рано, чтобы разбить код на модули
http://svn/application/trunk/application1
module1
module2
3) если модуль стабилен, переместите его вверх по течению в свой собственный репозиторий:
http://svn/module1/trunk
4) наконец, когда у вас есть несколько стабильных модулей и приложений, вы можете получить
http://svn/application1/trunk
http://svn/application2/trunk
http://svn/module1/trunk
http://svn/module2/trunk
каждое приложение / модуль имеет свой собственный цикл выпуска.
Кроме того, вы можете взглянуть на то, что делает Spring Framework (очень хорошая организация, если вы спросите меня)
http://svn/application1/trunk
http://svn/application2/trunk
http://svn/framework/trunk/module1
http://svn/framework/trunk/module2
Я бы не советовал разбивать код на транк / ветви для каждого модуля, по крайней мере, в начале проекта: как только вы начинаете ветвление (и не работаете на транке), вы не можете работать с головками других ствол модулей больше: вы должны разветвлять все свои проекты одновременно или работать с определенными версиями (1.0, а не SNAPSHOT). Я не думаю, что я очень ясно, но дайте мне знать, если я должен объяснить это по-другому.