Выполняя слияние между двумя ветвями с выбранной опцией “Все изменения до определенной версии”, какой тип версии предпочтителен (“Последняя Версия” [по умолчанию], “Набор изменений”, «Дата», «Метка» или «Версия рабочей области»)?
Posted by Shamrai Alexander на 26 декабря, 2009
<< Назад в TFS Branching Guidance – Q&A
Вопрос
Выполняя слияние между двумя ветвями с выбранной опцией «Все изменения до определенной версии», какой тип версии предпочтителен («Последняя версия» [по умолчанию], «Набор изменений», «Дата», «Метка» или «Версия рабочей области»)?
Ответ
В зависимости от выбранной опции будет определен различный набор изменений, как описано ниже:
- «Последняя версия» – все наборы изменений, которые не были объединены из исходной ветви от последней операции слияния, будут объединены с целевым потоком. Однако с момента последнего слияния в исходной ветви может вестись активная разработка, поэтому какие точно изменения будут объединены, может быть не четко определено.
- «Набор изменений» – все наборы изменений из исходного ветви, которые были зарегистрированы до указанного набора изменений, будут объединены с целевой ветвью (определение набора изменений эквивалентно определению даты, где дата – дата регистрации набора изменений).
- «Дата» – все наборы изменений исходной ветви, которые были зарегистрированы до указанной даты, будут объединены с целевым потоком.
- «Метка» – все наборы изменений, которые помечены в исходной ветви, будут объединены с целевым потоком. Поскольку метки в TFS не включают удаления, то изменения удаления, никогда не будут объединены в целевой ветви.
- «Версия рабочей области» – все изменения ветви до версий в указанном рабочем пространстве будут объединены с целевым потоком. Также как и для опции «Метка» изменения типа «удаление» не будут объединены.
Таким образом, т.к. присутствуют ограничения для опций «Метка» и «Версия рабочей области», не рекомендуется использовать слияние с этими опциями, если были изменения удаления.
Опция «Последняя версия» может использоваться, когда четко понятно, какие изменения будут содержаться в последней версии. Можно временно «заморозить» исходную ветвь на время проведения операции слияния с использованием блокировки до начала слияния.
Использование опций «Набор изменений» или «Дата» обеспечивает четкую контрольную точку для того, что будет объединено, и должно использоваться как правильное.
Дополнительные ресурсы
- «Deceptive Allure Of Merging With Labels» – http://blogs.msdn.com/tfsvcs/archive/2007/03/22/the-deceptive-allure-of-merging-with-labels.aspx
dzenm said
../faq/tfs_branching_guidance/ откинулась ссылка.Показывает 404 — в чем проблема?
Шамрай Александр said
Исправил