Tortoise SVN объединяет несколько ветвей в магистраль

Я знаю, что слияние с Tortoise SNV обсуждалось (подробно), но я не могу найти ответ на мою ситуацию. Я понимаю, что я могу объединить ветвь dev в соединительную линию с помощью мастера слияния, но каков надлежащий рабочий процесс, если я хочу объединить несколько ветвей в туловище?

В моей ситуации я создал три ветви dev (по одному для каждого разработчика) из соединительной линии проекта. Первоначально ветви dev и багажник были идентичны. Разработчики также работают в отдельных областях проекта, поэтому несколько человек не работают с одними и теми же файлами. Так, например, у меня есть багажник, b1, b2 и b3, где trunk = b1 = b2 = b3 .

Теперь, после некоторой разработки, я хочу объединить изменения с каждой ветви dev обратно в багажник. Здесь я смущаюсь. Я прочитал, что вы можете просто объединить каждую ветвь в туловище, по одному за раз (с изменениями от каждой ветви до слияния следующего), так как все они имеют одну и ту же предков, а черепаха достаточно умна, чтобы знать, что должно быть изменено. Так:

b1 -> merge to trunk -> commit trunk (now trunk has b1 changes) b2 -> merge to trunk -> commit trunk (now trunk has b1 and b2 changes) b3 -> merge to trunk -> commit trunk (now trunk has b1, b2, and b3 changes) 

Я также прочитал, что вы должны объединить изменения ветви dev в другие ветви dev, а затем объединиться в туловище, чтобы не было проблем с перезаписью (что я думал, что черепаха была достаточно умна, чтобы этого избежать). Так:

 b3 -> merge to b2 -> commit b2 (now b2 has b3 changes) b2 -> merge to b1 -> commit b1 (now b1 and b2 and b3 changes) b1 -> merge to trunk -> commit trunk (now trunk has b1, b2, and b3 changes) 

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

Я использую TortoiseSVN версии 1.8.8, сборку 25755 и Subversion 1.8.10 .

Благодаря!

Вы должны объединить сундук в свою ветку, прежде чем объединять свою ветку обратно в багажник. До Subversion 1.8 вам нужно было указать флаг --reintegrate при слиянии с магистралью, но Subversion позаботится об этом благодаря новым возможностям автоматического объединения реинтеграции . Следующий рабочий процесс описан в разделе основного слияния книги SVN:

  1. объединить ствол в b1
  2. зафиксировать изменения на b1
  3. объединить b1 в магистраль
  4. фиксировать изменения на соединительной линии
  5. удалить b1

Повторите для b2 и b3.