Невозможно запустить tf get
без рабочей области. Причина в том, что серверу необходимо знать соответствие между путями сервера и локальными путями.
Если вы работаете с большим количеством файлов, не рекомендуется:
- Создание и удаление нового рабочего пространства каждый раз
- Или, создайте новое рабочее пространство (и никогда не удаляйте его)
Причина этого в том, что каждый раз, когда вы делаете Get
, сервер отслеживает, какие файлы, в каких версиях были загружены в какое рабочее пространство. Если вы никогда не очищаете эти рабочие пространства, то таблица, в которой хранится эта информация, со временем будет расти.
Кроме того, если вы все время создаете и удаляете рабочее пространство, сервер должен записать все эти строки, а затем удалить их, когда закончите. Это не нужно.
Вам действительно следует каждый раз повторять одно и то же рабочее пространство. Если вы это сделаете, сервер очень эффективен в отношении отправки только тех файлов, которые были изменены с момента вашей последней загрузки. Даже если ваша сборка перемещается из одной ветви в другую, вы можете использовать tf get /remap
, что иногда более эффективно, если ветви используют общие файлы.
Хотя это не решает вашу проблему, можно перечислять файлы и загружать файлы без рабочего пространства.
Для просмотра файлов:
tf dir $/Product/Main/Project1 /R
Для загрузки файла:
tf view $/Product/Main/Project1/file.cs
Используя творческий пакетный файл, вы можете связать эти два вместе командой FOR
. Однако я бы порекомендовал сначала попытаться решить проблему с рабочим пространством, поскольку именно так TFS предназначался для использования.