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

version-control command-line tfs administration

51858 просмотра

11 ответа

10770 Репутация автора

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

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

Автор: Maxime Rouiller Источник Размещён: 06.11.2008 02:28

Ответы (11)


55 плюса

10770 Репутация автора

Решение

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

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

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

tf lock / lock: нет / рабочая область: WorkspaceName; USERNAME / recursive $ /

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

tf workspaces / owner: имя пользователя

Для получения дополнительных команд, проверьте TF /?

Автор: Maxime Rouiller Размещён: 06.11.2008 02:28

6 плюса

2028 Репутация автора

Сначала вам нужно иметь право сделать это. Если у вас есть это, то самое простое - использовать подручные TFS от attrice http://www.attrice.info/cm/tfs/

Автор: KeesDijk Размещён: 06.11.2008 02:31

0 плюса

28488 Репутация автора

Вот объяснение использования разрешений TFS.

Если для разрешения «Разблокировать изменения другого пользователя» установлено значение «Разрешить», необходимо удалить блокировку, удерживаемую другим пользователем.

Автор: DOK Размещён: 06.11.2008 02:31

33 плюса

11510 Репутация автора

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

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

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

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

Автор: Martin Woodward Размещён: 06.11.2008 02:48

0 плюса

2297 Репутация автора

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

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

Автор: DiningPhilanderer Размещён: 06.11.2008 03:03

7 плюса

28275 Репутация автора

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

Если в сообщении об ошибке указано «Элемент $ / ... заблокирован для извлечения 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-> Уровень приложений-> Коллекции командного проекта. На нижней панели будет показан URL-адрес для коллекции, выбранной в верхней части. панель.

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

Автор: AaronLS Размещён: 29.08.2012 10:23

0 плюса

18 Репутация автора

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

Рабочая область tf / delete / server: рабочая область your_tfs_server; имя пользователя

Автор: Mrinmoy Das Размещён: 22.07.2014 08:12

1 плюс

21 Репутация автора

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

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

tf loc / lock: нет / workspace: WorkspaceName; Имя пользователя / collection: collectionURL

Автор: user1977234 Размещён: 17.09.2014 01:49

0 плюса

13689 Репутация автора

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

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

Автор: Tom Stickel Размещён: 20.01.2016 11:44

-3 плюса

634 Репутация автора

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

Я использую 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>>
Автор: Dennis T Размещён: 20.04.2016 11:21

0 плюса

1731 Репутация автора

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

В Visual studio 2015:

  1. Перейти к Team Explorer
  2. Нажмите прямо на вашем решении и выберите Open in source control exporer
  3. На левой стороне щелкните правой кнопкой мыши на вашем решении
  4. Выберите Advanced
  5. Выберите Блокировка ...
  6. На левой стороне щелкните правой кнопкой мыши на вашем решении
  7. Выберите Advanced
  8. Выберите Разблокировать (теперь вы можете выбрать разблокировать)

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

Автор: Maciej Pulikowski Размещён: 05.03.2019 11:09
Вопросы из категории :
32x32