Если вы всегда синхронизируете ветку функции, прежде чем объединять ее обратно. Почему вам действительно нужно использовать параметр --reintegrate
?
В книге о Subversion говорится:
Однако при объединении вашей ветки обратно в ствол математика, лежащая в основе, будет совершенно иной. Теперь ваша функциональная ветка представляет собой мешанину из дублированных изменений ствола и изменений частной ветки, поэтому нет простого непрерывного диапазона ревизий, который можно было бы скопировать. Указав параметр --reintegrate, вы просите Subversion тщательно реплицировать только те изменения, которые уникальны для вашей ветки. (Фактически, он делает это, сравнивая последнее ствольное дерево с последним деревом ветвей: в результате получается разница именно в изменении вашей ветки!)
Таким образом, опция --reintegrate
объединяет только те изменения, которые уникальны для ветки функции. Но если вы всегда синхронизируете перед слиянием (что является рекомендуемой практикой, чтобы иметь дело с любыми конфликтами в функциональной ветке), то единственными изменениями между ветвями будут изменения, которые уникальны для этой функциональной ветки, верно? И если Subversion попытается объединить код, который уже находится в целевой ветке, он просто ничего не сделает, верно?
В блоге Марк Фиппард пишет:
Если мы включаем эти синхронизированные ревизии, мы объединяем обратно изменения, которые уже существуют в стволе. Это приводит к ненужным и сбивающим с толку конфликтам.
Есть ли пример, когда отказ от реинтеграции вызывает у меня ненужные конфликты?