Чтобы многократно объединять ветку тему в магистраль : Выполняйте следующие действия при каждом слиянии.
svn merge --reintegrate <тема> <ствол>
, как обычно. ( => r
M
) svn merge --record-only -c M ^ /
. Обратите внимание на параметр только для записи
. Шаг 2, по сути, указывает ветке темы, чтобы она считала фиксацию слияния (ревизия M
, из шага 1) частью своей истории. Эта ревизия слиянием обычно вызывает проблемы во время реинтеграции; svn пытается отменить rM при повторной интеграции топика .
Итак, повторная реинтеграция работает, просто не автоматически. :)
В конце концов я нашел это решение через разъясняющее сообщение фиксации для источника svn и соответствующий тест (поиск по запросу «def multiple_reintegrates»). Это "хитрый прием", обнаруженный и используемый svn-devs в текущих выпусках. Это даже было добавлено в более свежую документацию . Результат все еще не так хорош, как свойства слияния DVCS, но, по крайней мере, он функциональный.
Единственным серьезным недостатком (согласно открытой проблеме от 2 июня 2010 г.) является то, что, по-видимому, вывод svn log -g
беспорядочный. Думаю, это риск.
Хотя 1. 6 действительно исправил проблемы с отслеживанием слияний, я не думаю, что вы можете повторно использовать интегрированную ветку.
Но это не проблема. Поскольку ветка полностью интегрирована в ствол, просто удалите её и создайте на её месте новую ветку (с тем же именем).