2012-02-15 3 views
6

В настоящее время у меня есть сервер TFS 2010, работающий на сервере SERVER-1. На моем клиенте (MY-CLIENT) у меня работает VS2010 и у меня есть рабочая область, связывающая SERVER-1 с \ MY-CLIENT \ Development. Все хорошо.Как вы принудительно удаляете рабочее пространство TFS 2010 на клиенте, когда TFS Server больше не существует?

Я играл с настройкой другого экземпляра TFS на SERVER-2. На моем клиенте я удалил исходное рабочее пространство SERVER-1 и создал новую рабочую область, связывающую SERVER-2 с \ MY-CLIENT \ Development. Все хорошо.

Закончив мои эксперименты с TFS на SERVER-2, я снова отобразил машину (удаление сервера TFS на SERVER-2).

Затем я вернулся на свой клиентский компьютер, подключив его к TFS на сервере SERVER-1 и попытался перенаправить исходный код в папку разработки. Однако теперь я получаю сообщение об ошибке «Путь \ MY-CLIENT \ Development уже отображается в рабочей области MY-CLIENT, SERVER-2 \ Steve." Теперь у меня проблема.

Итак, из этого я должен был сначала удалить рабочее пространство SERVER-2 ПЕРЕД повторным отображением машины. К сожалению, я этого не делал.

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

tf workspace /delete MY-CLIENT;SERVER-2\Steve 

Однако, когда я запускаю это, я получаю сообщение о том, что "службы Team Foundation не доступны с сервера http://SERVER-2:8080/tfs/development. "

таким образом, вопрос, то, как я могу заставить исключить SERVER-2 рабочего пространства на моем клиенте, так что я могу воссоздать мой старый SERVER-1 рабочее пространство?

ответ

16

Отображения рабочих папок для всех локальных рабочих пространств хранятся в файле кеша управления версиями. Это позволяет загружать TFS-клиенты, позволяя им находить информацию о сервере для данной локальной папки. Кроме того, он предоставит информацию для этого теста, который вы видите, что предотвращает сопоставление локальной папки на двух разных серверах.

Для того, чтобы очистить это (не пытаясь подключиться к серверу), вы можете использовать команду tf workspaces (обратите внимание на плюрализацию - команда workspaces работает на списке рабочих областей, команда workspace работает на в . Рабочее пространство и, как правило, требует подключения к серверу, что рабочее пространство находится на

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

tf workspaces /remove:* /collection:http://server-2:8080/tfs/DefaultCollection 

(Очевидно, заменив URI URI проекта на ваш удаленный сервер.)

-2

Параметр workspaceowner в команде delete является необязательным. Можете ли вы удалить удаление без этого параметра, или это повредит другое рабочее пространство MY-CLIENT?

+0

Он все равно попытается связаться с сервером (теперь несуществующим), чтобы удалить рабочую область с сервера. –

1

У меня была такая же проблема: после перемещения сервера TFS на другую машину я не мог сопоставить локальную папку в VS2012 на старой потому что он все еще ассоциировался со старым рабочим пространством, которое TFS отрицало все существование.После многих часов (и дней) поиск Google и пробуя различные вещи, ни один из которых работали (в том числе всех команд «ТФ», удаляя локальный кэш и т.д.), это то, как я в конце концов решил это:

  1. Отредактируйте текущая база данных коллекции TFS на сервере TFS с помощью SQL Management Studio Express (например, «Tfs_DefaultCollection»)
  2. Посмотрите на таблицу «dbo.tbl_Workspace» и редактировать его
  3. Вы должны увидеть «призрачный» рабочее пространство (ы) здесь
  4. Удалить строки
  5. Все прямо на свет
Смежные вопросы