Показать сообщение отдельно
Старый 16.08.2023, 06:51   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,282 / 3491 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Странный вопрос.
Никакого нарушения порядка следования changeset-ов tfs не допустит и никаких ошибок со стороны tfs тут не появится.
Другое дело, что в указанном примере methodB() в ветке PROD появится раньше, чем methodA(), что может привести к ошибкам компиляции, если methodB() прямо или опосредованно вызывает methodA(). Но это тогда уже вопрос к разработчику или сборщику - как так получилось, что переносится модификация, зависящая от той модификации, которая еще не перенесена.
А дальше события могут развиваться по таким сценариям:
1. Да, действительно зависимость между модификациями есть. Откатываем переносимую модификацию и ждем доработки первой модификации (с methodA())
2. Зависимости нет - это ошибка разработчика - он убирает ссылку на methodA() и появляется другой changeSet с исправленным methodB() - в этом случае methodA() переносится, но он остается лежать "мёртвым грузом", т.к. ссылок на него нет

Вручную можно исправить - вопрос в какой ветке? Если в DEV - то это изменение отразится сразу у всех разработчиков. Если в PROD - то это исправление будет "жить" до ближайшего переноса какого-нибудь changeset-а с этим кодом и проблема встанет снова.

Для TFS совершенно без разницы - как Вы наполняете ветку PROD - это уже Ваши личные заботы. Последовательность changeset-тов никогда не нарушится - будет только возрастать.

Мы в разработке применяли такой принцип - сначала кодим функционал и только на последнем этапе вставляем ссылки на его использование. Более того - в ветку DEV не переносим неготовые модификации и тщательно следим за зависимостью модификаций друг от друга. Ну и конечно чем чаще релиз - тем проще следить за версией кода.
Т.е. легко можно на рабочую базу перенести недоделанную модификацию, которая нигде не вызывается и никому не мешает.
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: virtuoso (1).