(svn) объединить рефакторинги, но не всю ветку, возможно? - PullRequest
1 голос
/ 11 января 2012

Я заметил (n) (анти) шаблон в моей команде:

Мы решили реализовать функцию, чтобы мы (SVN) ветви. При реализации этой функции мы проводим рефакторинг, который принесет пользу всем, если их можно будет сразу же объединить с магистралью. Мы ждем, когда мы закончим с веткой, затем реинтегрируем ее с транком, и каждый получит функцию + рефакторинг.

Теперь забавно то, что очень часто рефакторинги имеют гораздо более высокую (и непосредственную) ценность, чем функция, которая приводит их в движение, поэтому было бы очень хорошо, если бы я как-то мог сразу же получить их в багажнике и не подождите, пока ветка не закончится и не будет реинтегрирована.

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

Идеи?

1 Ответ

1 голос
/ 11 января 2012

Это возможно.У него даже есть имя - cherrypicking .На самом деле, вишнёвость поощряется, если она позволяет избежать «большого взрыва» при слиянии веток.Более того, если вы выполняете слияние в одном и том же направлении (в вашем случае от ветви к стволу), это упрощает реинтеграцию.Subversion запоминает то, что было слито ранее, используя mergeinfo, и исключает коммиты, включенные в предыдущие слияния.Это соответствует шаблону Раннее слияние, часто слияние .

Принцип иллюстрируется на рисунке:

enter image description here

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

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

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