Как администратор TFS, мне снова и снова приходится архивировать / перемещать ветки в другие папки, чтобы убедиться, что наши папки TFS не загромождены старыми неиспользуемыми ветвями. Но когда я пытаюсь ПЕРЕМЕСТИТЬ ветки, если кто-либо из разработчиков извлек файл из этой ветки в своей рабочей области, тогда TFS не позволяет мне завершить операцию. Я должен отменить все эти проверки (для всех пользователей), прежде чем я смогу ПЕРЕМЕСТИТЬ ветку.
Инструменты TFS Power дают здесь некоторое облегчение. Это поможет вам отменить проверку других из Visual Studio (или из командной строки). Щелкните правой кнопкой мыши ветку -> Найти -> Найти по подстановочному знаку. Вы можете увидеть скриншоты ниже:
Но загвоздка в том, что он может выполнять операцию UNDO только для одного пользователя за раз. Таким образом, в большой организации, если у вас есть 100-200 разработчиков, работающих в ветке, это означает, что если каждый из 100 разработчиков извлекут по 1 файлу из ветки, то мне придется нажать кнопку UNDO 100 раз, чтобы сделать извлечение ветки бесплатным.
Я много искал и не нашел готового решения. Наконец, решение, которое я придумал для этого, - это создать сценарий PowerShell, который запрашивает TFS (для конкретной ветки), чтобы найти список файлов, выданных пользователям, затем он просматривает список пользователей и отменяет все проверенные файлы - этому пользователю в ветке.
Есть ли у кого-нибудь лучшее / более простое решение? Я буду ждать входных данных и, если не увижу особого ответа, я добавлю сценарий сюда, чтобы люди, находящиеся в аналогичной ситуации, могли им воспользоваться.