Записки на лету

Associate по умолчанию при чекине

В новой студии, по-умолчанию, при осуществлении чекина при привязке рабочего элемента состояние этого рабочего элемента устанавливается в состояние «Завершена» и это очень раздражает т.к. я постоянно закрываю задачи по ошибке.

В поисках решения этой проблемы я нашел два решения:

Вариант первый — изменить настройки клиентов Visual Studio.

За

  • Изменение применяется один раз на клиенте и работает со всеми TFS серверами к которым подключается.
  • Оставляет возможность поставить задачу в состояние «Завершена» при чекине.

Против

  • Изменения должны быть произведены на клиенте и для каждого пользователя.

В большинстве случаев где бы Вы не инициировали CheckIn в Visual Studio Вы окажетесь на панели «Pending Changes». Это вариант изменяет выбор по умолчанию с «Resolve» на «Associate».

Для этого, всего навсего необходимо изменить запись реестра ResolveAsDefaultCheckinAction с True на False, которая находится по адресу: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\SourceControl\BehaviorTFS-Resolve-Reg

Это для студии 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.

TFS_Open_WIT

Открываем нужный проект и выбираем Task.

TFS_Open_WIT_2

В окне редактора рабочего элемента переходим на вкладку Workflow и ищем Transition, где есть Actions Microsoft.VSTS.Actions.Checkin.

TFS_Open_WIT-3

Кликаем ПКМ на заголовке окна и выбираем Open Details, в появившемся окне переключаемся на вкладку Actions выбираем Microsoft.VSTS.Actions.Checkin и кликаем Delete.

TFS_Open_WIT_4

В стандартном шаблоне у таска удалить надо в двух переходах и у бага в одном.

Вот, собствено, и все.

 
Comments