В новой студии, по-умолчанию, при осуществлении чекина при привязке рабочего элемента состояние этого рабочего элемента устанавливается в состояние «Завершена» и это очень раздражает т.к. я постоянно закрываю задачи по ошибке.
В поисках решения этой проблемы я нашел два решения:
Вариант первый — изменить настройки клиентов Visual Studio.
За
- Изменение применяется один раз на клиенте и работает со всеми TFS серверами к которым подключается.
- Оставляет возможность поставить задачу в состояние «Завершена» при чекине.
Против
- Изменения должны быть произведены на клиенте и для каждого пользователя.
В большинстве случаев где бы Вы не инициировали CheckIn в Visual Studio Вы окажетесь на панели «Pending Changes». Это вариант изменяет выбор по умолчанию с «Resolve» на «Associate».
Для этого, всего навсего необходимо изменить запись реестра ResolveAsDefaultCheckinAction с True на False, которая находится по адресу: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\SourceControl\Behavior
Это для студии 2015, для версий ниже нужно поменять 14.0 на соответствующий номер.
После того как Вы изменили реестр, для того что быть уверенным, что изменения применились в студии необходимо закрыть все экземпляры студии и запустить Developer Command Prompt for VS, где выполнить следующую команду:
devenv /setup
Вариант второй — удалить действие чекина из шаблона процесса.
За
- Изменения производятся на сервере в Team Project и не затрагивает клиентов.
Против
- Изменения должны быть применены ко всем текущим Team Projects и потребуется обновить Process Template для будущих Team Projects.
- Полностью удаляет поставить задачу в состояние «Завершена» при чекине.
Для этого варианта нам понадобится редактор шаблонов рабочих элементов. Я использовал TFS Power Tools, которые ставятся как аддон к Visual Studio.
Открываем студию и идем в меню TOOLS -> Process Editor -> Work Item Types -> Open WIT from Server.
Открываем нужный проект и выбираем Task.
В окне редактора рабочего элемента переходим на вкладку Workflow и ищем Transition, где есть Actions Microsoft.VSTS.Actions.Checkin.
Кликаем ПКМ на заголовке окна и выбираем Open Details, в появившемся окне переключаемся на вкладку Actions выбираем Microsoft.VSTS.Actions.Checkin и кликаем Delete.
В стандартном шаблоне у таска удалить надо в двух переходах и у бага в одном.
Вот, собствено, и все.