Слияние от ветви к стволу с «Слияние диапазона ревизий» - PullRequest
7 голосов
/ 13 июня 2009

Я несколько раз сливался с Subversion / TortoiseSVN следующим образом:

Метод А:

  • 1) Я изменяю транк и фиксирую.

  • 2) Я делаю другие изменения в ветке и фиксирую.

  • 3) В рабочем экземпляре из ствола: Я сливаюсь из ветки используя TortoiseSVN «Объединить диапазон ревизий».

  • 4) Затем я фиксирую транк и удаляю ветку.

Однако, TortoiseSVN-manual рекомендует следующее вместо 3) и 4):

Метод B:

  • 3 *) В рабочем экземпляре из филиала: Объединить изменения из ствола, используя TortoiseSVN 'Объединить диапазон ревизий'.

  • 4 *) Зафиксировать ветку, включая изменения в магистрали.

  • 5 *) В рабочем экземпляре из ствола: Объедините изменения из ветви, используя TortoiseSVN 'Reintegrate a branch'.

  • 6 *) Зафиксируйте ствол и удалите ветвь.

Я нахожу А намного проще и не нашел причины, почему я не должен так поступать.

Каковы аргументы для метода B или A, при слиянии с ответвления обратно в ствол?

Ответы [ 2 ]

11 голосов
/ 13 июня 2009

Это вызов " rebasing " перед слиянием назад: вы "перебазируете" (или обновляете) свою локальную ветвь эволюцией транка перед слиянием этой локальной ветки с транком.

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

Считаете ли вы вредным использование подхода «А»?

Нет, если слияние является тривиальным, с предсказуемым результатом. В этом случае подход B был бы пустой тратой времени, дополнительным слиянием, которое не требуется (и вы всегда должны стремиться сделать как можно меньше слияний: каждая из этих операций может быть подвержена ошибкам) ​​

Но если результат не очень хорошо определен заранее, то окончательно рекомендуется подход "B", который позволяет вам изучить результат слияния в вашей собственной ветви, прежде чем воздействовать на "ствол".

Оба подхода полезны, не следует стремиться применять только один или только другой, но тот, который наиболее приспособлен к текущей ситуации.

0 голосов
/ 28 ноября 2013

Относительно Объединить диапазон ревизий против Реинтегрировать ветку :

Следование методу B приводит к наличию двух видов коммитов в ветке:

  1. Изменения, уникальные для ветви
  2. Изменения ствола выбираются из ствола путем последовательных Слияние диапазона ревизий

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

Использование Объединение диапазона ревизий в конце приведет к соединению как дублированных изменений ствола, так и изменений частной ветви.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...