Есть код, который хранится в системе управления версиями (source control) на Team Foundation Server (TFS). Я работаю с ним с разных машин (и соответственно, с разных точек земного шара :)).
Не знаю, как так получилось, но работая на одной машине, я редактировал несколько файлов в проекте и забыл их вернуть (check in) в систему. Работая с другой машины с этим же файлами, я вдруг столкнулся с тем, что не могу их извлечь (check out) для редактирования - потому что файлы заблокированы (locked). И что обидно - мною самим, только с другой машины.
(С этой ситуацией можно столкнуться еще, когда человек, который работал с кодом, больше не работает с ним (исчез, похитили инопланетяне и т.п), а файлы им извлечены и блокированы.)
Оказывается, есть возможность снять такую блокировку файлов или отменить извлечение.
Средствами в пользовательском интерфейсе клиента TFS вы это не сделаете, но через командную строку сможете.
Для этого есть две команды:
Как видите, ничего сложного. Зато как эффективно :)
Не знаю, как так получилось, но работая на одной машине, я редактировал несколько файлов в проекте и забыл их вернуть (check in) в систему. Работая с другой машины с этим же файлами, я вдруг столкнулся с тем, что не могу их извлечь (check out) для редактирования - потому что файлы заблокированы (locked). И что обидно - мною самим, только с другой машины.
(С этой ситуацией можно столкнуться еще, когда человек, который работал с кодом, больше не работает с ним (исчез, похитили инопланетяне и т.п), а файлы им извлечены и блокированы.)
Оказывается, есть возможность снять такую блокировку файлов или отменить извлечение.
Средствами в пользовательском интерфейсе клиента TFS вы это не сделаете, но через командную строку сможете.
Для этого есть две команды:
- вы можете либо снять блокировку (tf lock /unlock:none),
- либо вообще отменить извлечение файлов (tf undo)
При этом вам нужно знать:
- путь к файлу в системе управления версиями (что-то вроде $/MyProject/MyFile.ext)
- адрес вашего сервера TFS (что-то вроде, http://<имя_сервера>:8080 или http://<имя_сервера>:8080/tfs). Указывается с помощью параметра /s:.
- рабочее пространство, к которому принадлежит компьютер, с которого вы или кто-то другой заблокировали файлы (это получается удаленный ПК)
- пользователя и домен, к которому вы или тот другой, кто заблокировал файлы, принадлежит
Узнать рабочее пространство и имя пользователя с доменом можно в "Свойствах" заблокированного файла в Source Code Explorer'е. (В системе управления версиями - правой кнопкой мыши, Properties, затем вкладка Status.).
Они указываются с помощью параметра /workspace:. Рабочее пространство отделяется от имя пользователя с доменом - точкой с запятой. (Если в названии рабочего пространства есть пробелы, его еще нужно взять в кавычки.)
Давайте для примера отменим (undo) извлечение файла $/MyProject/MyFile.ext. Адрес сервера TFS - http://myserver.com:8080/tfs, рабочее пространство - "OfficeSpace", ваше имя пользователя - "vpupkin" в домене "BB".
tf undo $/MyProject/MyFile.ext /workspace:OfficeSpace;BB\vpupkin /s:http://myserver.com:8080/tfs
Как видите, ничего сложного. Зато как эффективно :)
Комментариев нет:
Отправить комментарий