Подтвердить что ты не робот

Что вы делаете, если файл в TFS заблокирован кем-то другим?

Кто-то покинул организацию, но перед отъездом он заблокировал все файлы по неизвестной причине.

Как вы разблокируете их все, чтобы другие разработчики могли работать?

4b9b3361

Ответ 1

Для следующей операции вам нужно будет либо администратором проекта для проекта, который вы хотите отменить регистрацию, или администратора Team Foundation, если вы хотите сделать это во всех проектах.

Если у вас все еще есть имя пользователя, вы можете просто сделать что-то вроде этого:

  • Откройте командную строку Visual Studio (Пуск → Программы → Microsoft Visual Studio 200X → Инструменты Visual Studio → Командная строка Visual Studio 200X)
  • Выполните следующую команду:

tf блокировка/блокировка: нет /Рабочее пространство: WorkspaceName; ИМЯ_ПОЛЬЗОВАТЕЛЬ /рекурсивный $/

Чтобы получить список рабочих областей для пользователя, просто запустите следующую команду из той же подсказки:

tf workspaces/owner: username

Для получения дополнительных команд установите флажок tf/?

Ответ 2

Если разработчик покинул организацию, то лучше всего удалить их рабочие области. Это разблокирует файлы для вас, но также освободит некоторые ресурсы на сервере.

См. следующее сообщение в блоге, которое я сделал по этой теме, когда это случилось со мной несколько лет назад.

http://www.woodwardweb.com/vsts/unlocking_files.html

Вы можете либо удалить рабочую область с помощью командной строки (tf.exe), либо использовать атрибут

Ответ 3

Это был единственный способ решить эту проблему, который заключался в удалении рабочего пространства пользователя.

Если в сообщении об ошибке указано "Элемент $/... заблокирован для извлечения someUser: 1 в рабочей области someMachine123". тогда я использую команду:

tf workspace /delete /server:http://machinename:8080/tfs/DefaultCollection someMachine123;someUser:1

Между URL коллекции и someMachine123;someUser:1 есть только один пробел.

Обратите внимание, что я обратил внимание на тот факт, что в сообщении об ошибке пользователь упоминается как someUser:1, поэтому я имитировал это в команде. Недостаточно просто запустить команду только с someUser. Я не уверен, что означает: 1, но, суть в том, имитируйте сообщение об ошибке.

Обратите внимание, что на сервере должен быть указан полный путь к коллекции, который можно найти, перейдя в Администрирование Team Foundation Server Console-> Приложение Tier-> Коллекции командного проекта, в нижней панели будет показан URL-адрес для коллекции, выбранной в верхняя панель.

У меня также была проблема, потому что я случайно попытался использовать множественное число workspaces вместо просто workspace, потому что есть подобная команда, которая является множественным числом.

Ответ 4

сначала вам нужно иметь право на это. Если у вас есть, что проще всего использовать сторонних пользователей TFS из attrice http://www.attrice.info/cm/tfs/

Ответ 5

Мне нужно было добавить /collection: collectionURL, иначе рабочая область не найдена:

  • Элемент списка

tf loc/lock: none/workspace: WorkspaceName; UserName/collection: collectionURL

Ответ 7

У системного администратора reset, что пароль пользователя, войдите в систему как этот пользователь, разблокируйте все файлы...

Я бы подумал, что это решение почти для всех, кто больше не относится к этой организации...

Ответ 8

Лучше удалить рабочую область этого пользователя с сервера. Пример

tf рабочее пространство/удаление/сервер: рабочее пространство your_tfs_server; имя пользователя

Ответ 9

Иногда это маскирует другую проблему, когда совершенно другое приложение блокируется другим пользователем, но вы даже не можете создать новую папку для нового проекта, в который хотите объединиться (цель не позволит создать и неправильно указать, что у кого-то есть файл, заблокированный от их имени), но затем вы копаете глубже, а другой проект является виновником.

Таким образом, совершенно другим проектом может быть проблема с тем, что файлы заблокированы кем-то другим.

Ответ 10

Метод, который мне помог, моя учетная запись имеет разрешение администратора для TFS и проекта:

В Visual studio 2015:

  1. Перейдите в Team Explorer
  2. Нажмите прямо на своем решении и выберите Открыть в системе контроля версий. Exporer
  3. Слева щелкните правой кнопкой мыши на вашем решении
  4. Выберите Дополнительно
  5. Выберите Заблокировать...
  6. Слева щелкните правой кнопкой мыши на вашем решении
  7. Выберите Дополнительно
  8. Выберите Разблокировать (теперь вы можете выбрать разблокировку)

Прямо сейчас, каждый разработчик может легко зафиксировать свои изменения :)

Ответ 11

Используйте это решение как последнее средство.

Im, использующий TFS 2012. Я пошел в базу данных TFS и выполнил следующие запросы. И это сработало! Конечно, будьте очень осторожны, когда вы возитесь с базой данных, делаете резервные копии и т.д.

База данных называется Tfs_ < <your_TFS_collection_name → . Игнорируйте базу данных MSSQL Tfs_Configuration. Я не уверен, но если у вас нет Tfs_ < <your_TFS_collection_name → → базы данных, настройки могут быть в базе данных Tfs_DefaultCollection. Замки хранятся в tbl_PendingChange.LockStatus.

/*Find correct row*/
SELECT LockStatus, PendingChangeId, *
FROM tbl_PendingChange
WHERE TargetServerItem like '%<<fileName>>%'

/*Set lock status to NULL (mine was set to 2 initially)*/
UPDATE tbl_PendingChange SET LockStatus = NULL WHERE
TargetServerItem like '%<fileName>>%'
AND PendingChangeId = <<PendingChangeId from above>>