Я собираюсь перенести несколько проектов, использующих ANT, на MAVEN2.
Текущая структура SVN проектов:
ствол / проект1 / SRC / ком
ствол / проект2 / SRC / ком
...
Мой план - создать новую ветку maven_migration и переместить папки, чтобы они выглядели так:
ветви / проект1 / SRC / основной / Java / ком
ветки / проект2 / SRC / основной / Java / ком
...
Как только моя работа будет завершена, я планирую снова объединить ветку с / trunk.
Будет ли SVN знать, что нужно объединить изменения файлов в / trunk с их новыми путями?
будет ли он обрабатывать файлы, которые были добавлены и удалены в / trunk после разветвления?
Спасибо, ню
Ответ 1 · jgifford25
К сожалению, Subversion не будет обрабатывать файлы (или каталоги), которые были изменены, добавлены или удалены в магистраль после разветвления и внесения изменений, как вы указываете.
Однако, если вы сделаете это правильно, вы сможете периодически объединять trunk / src / com в branch / src / main / java / com, чтобы немного упростить процесс миграции для тех файлов, которые изменяются, добавляются и удаляются. Затем, когда вы будете готовы объединить ветку обратно со стволом, все это должно слиться чисто.
Эти периодические слияния с веткой из ствола также предполагают, что вы также не меняете исходную структуру за / src / main / java / com. Если вы планируете разбить ваш исходный код на многомодульный проект в Maven, количество слияний, обеспечивающих синхронизацию магистрали с ветвью, может стать очень сложной задачей.
Однако процедурное предупреждение: если вы хотите сохранить историю тех файлов, которые были перемещены для миграции, обязательно используйте svn copy и не используйте svn move или svn rename при перемещении источника из / src / com в / src / основной / java / com.