Миграция на maven из необычной структуры каталогов svn?

В отличие от «нормальной» структуры каталогов svn, я использую следующую структуру:

trunk/
  project1/
  project2/
  project3/
  ...
branches/
  project1-branch/
    project1/
    project2/
    ...
  project2-branch/
    project1/
    project2/
    ...
tags/
  project1/
    V1
    V2
    ...

Как видите, у меня нет отдельных троек (ствол / ветви / теги) для каждого проекта.

Для разработки я делаю извлечение из ствола (иногда разреженное извлечение), содержащее все проекты, которые мне нужны (есть зависимости между проектами, а некоторые проекты просто библиотеки).

Преимущества, которые я вижу в этом:

Обновление и регистрация просты, потому что у меня есть общий корневой каталог (транк) всех проектов. Один простойsvn update или жеsvn commit делает все это

Создать тег или ветку просто, потому что мне нужно только транкsvn copy за это. (Ветви и теги на самом деле содержат больше проектов, чем необходимо, ноsvn copy это дешево, и я все еще могу делать редкие проверки на ветке или теге, если это необходимо.)

Перемещение ресурсов из одного проекта в другой легко, потому что все они живут в одном хранилище.

Глобальный рефакторинг (например, изменение пакета часто используемого класса) очень прост, когда я работаю над полной проверкой транка, потому что я могу быть уверен, что не пропущу проект.

Объединить легко, потому что я всегда могу объединить всю ветку сразу, даже если был рефакторинг, переходящий из одного проекта в другой.

Я намерен перейти на Maven и разделить все проекты от магистральных до Maven проектов. Я хотел бы извлечь выгоду из управления зависимостями maven и из доступных плагинов (сейчас я использую огромные пользовательские файлы ant).

Теперь мои вопросы:

Нужно ли менять структуру каталогов svn, чтобы каждый проект имел собственную тройку (trunk / branch / tags)? Я думаю, что ответ «да».

Если я изменю структуру, какое из упомянутых выше преимуществ я потеряю (я имею в виду, что будет сложнее сделать с Maven)?

Каковы эквивалентные способы сделать это с Maven?

Ответы на вопрос(2)

Ваш ответ на вопрос