TortoiseSVN / Subversion - периодическое слияние ветки с транком - PullRequest
1 голос
/ 21 декабря 2010

Наша компания недавно переключила системы контроля версий на SVN, используя TortoiseSVN в качестве нашего клиента, чтобы упростить использование метода гибкой разработки. Наш SVN-репозиторий имеет несколько веток от ствола, по одному на каждый спринт. Обычно мы используем метод «поддерживать ветвь в актуальном состоянии с помощью транка, а затем реинтегрировать ветку». Однако иногда изменения в ветке необходимо перенести в ствол или в другие ветки! (как исправление ошибок). У нас есть ветка с исправлениями ошибок, которая постоянно находится в разработке (и я хотел бы сохранить ее, если это возможно, чтобы ствол оставался "чистым").

Если я периодически объединяю ряд ревизий от ветки до ствола, а затем реинтегрирую ветку в ствол, когда наш набор исправлений исправлен, будет ли это работать? Я не хочу двойного слияния. Было бы лучше, если бы вместо этого никогда не делали слияния реинтеграции и просто продолжали делать диапазон ревизий? Мы используем SVN 1.6.

Ответы [ 2 ]

6 голосов
/ 22 декабря 2010

, если я периодически объединяю ряд ревизий из ветви в транк, а затем реинтегрирую ветку в транк после того, как будет сделан наш набор исправлений, будет ли это работать?

Да, чтоэто будет работать.

Я не хочу двойного объединения.

Поскольку вы используете Subversion 1.6, пока свойство svn: mergeinfo не являетсяПодделанный, Subversion будет отслеживать, какие изменения уже были объединены, и объединять только те изменения, которые не были объединены.

Было бы лучше, если бы вместо этого никогда не делали слияния реинтеграции и просто продолжали делать диапазон ревизий?

Вы можете сделать любой.Но я бы порекомендовал делать слияния реинтеграции, если вы не перемещаете исправления или исправления в ствол или другую ветку.

Одно замечание о исправлениях или исправлениях при объединении из ветви в ветвь: будьте осторожны, если в исправлении или исправлении появились новые объекты (файлы и / или каталоги).Иногда они могут вызвать конфликты деревьев, которые могут быть болезненными для слияния или реинтеграции после того, как ветвь освобождена, перемещена в ствол, а другая ветвь затем обновлена ​​из ствола.Subversion 1.6.x и связанные клиенты обрабатывают это во время процесса слияния, но старые клиенты этого не делают.

1 голос
/ 21 декабря 2010

Два вопроса:

  • Выполняете ли вы несколько несвязанных спринтов в одном цикле выпуска?

  • Отмечаете ли вы релизы для последнего выпущенного производства?версии по завершении каждого цикла выпуска?

Если вы ответили утвердительно на первый вопрос, это имеет смысл для нескольких ветвей и периодических слияний от ветвей к стволу.Если вы помечаете выпуски периодически или в каждом выпуске, это может сделать излишним запуск ветвей вообще и использовать trunk как «передовую» версию для разработки, включая исправления ошибок.YMMV.

...