Должен ли я просто создать ветку каждого проекта и увеличить версию?
Что-то действительно близкое. Поскольку вы выпустили свой проект PM-Web (и его зависимости), вам нужно сделать «снимок» (на случай, если вам нужно что-то изменить), и я бы пометил каждый проект, чтобы сделать это (не t ответвления, если вам не нужно):
- Common-Test v1.0 -> svn: repo / Common-Test / tags / common-test-1.0
- Common-Core v3.1 (зависит от 1) -> svn: repo / Common-Core / tags / common-core-3.1
- PM-Web v3.1 (зависит от 2) -> svn: repo / PM-Web / tags / pm-web-3.1
Со всеми обновлениями в POM соответственно (версии, scm, версия в зависимостях и т. Д.).
Если позже вам потребуется что-то исправить в выпущенной версии, создайте ветку из помеченной версии, например,
- Common-Test v1.0.1 -> svn: repo / Common-Test / branch / common-test-1.x
- Common-Core v3.1 (зависит от 1)
- PM-Web v3.1.1 (зависит от 2) -> svn: repo / PM-Web / branch / pm-web-3.1.x
Сделайте исправление в ветках и выпустите новую версию (и установите заново).
И разработка следующей версии происходит в стволе (обратите внимание, что ничто не заставляет вас вносить какие-либо изменения в увеличенную версию Common-Test или выпускать ее, если вам это не нужно, но поскольку вы выпустили предыдущую версию , версия в багажнике должна быть изменена):
- Common-Test v1.1-SNAPSHOT -> svn: repo / Common-Test / trunk
- Common-Core v3.2-SNAPSHOT (зависит от 1) -> svn: repo / Common-Core / trunk
- PM-Web v3.2-SNAPSHOT (зависит от 2) -> svn: repo / PM-Web / trunk
Для вашей информации, плагин Maven Release может помочь автоматизировать эти шаги.
В svn: нужно ли сгруппировать 3 проекта в одну удаленную папку и создать ветку этой папки?
Я так не думаю. Кажется, что у ваших проектов отдельный жизненный цикл, поэтому, на мой взгляд, имеет смысл иметь для них отдельные модули (т.е. отдельную иерархию с отдельными стволами / тегами / ветвями).