2011-02-01 5 views
17

У меня есть этот скрипт (файл BAT)Невозможно определить рабочее пространство с помощью tf.exe

tf workspaces /s:http://project02:8080 

tf workspace /s:http://project02:8080 Team.descomp;MyDomain\Myuser 


tf workfold /workspace:Team.descomp 


tf get $/Team/Main/Projects /recursive /force /noprompt 

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

выход консоли похож как:

Server: project02

Workspace: DESCOMP

Owner : MyUser

Computer : DESCOMP

Workspace: Team.descomp

Owner : MyUser

Computer : DESCOMP

...

Workspace: Team.descomp (MyUser)

Server : http://project02:8080/

$/Team: C:\Temp\Team2

...

Unable to determine the workspace.

Примечание для $/Team (команда проекта) имеет карту в двух машинах: MyUser и Descomp

Workspace: Team Owner : MyUser Computer : MyUser

Workspace: Team.descomp Owner : MyUser Computer : DESCOMP

Любые предложения?

ответ

35

из форумов MSDN: Г-н Хофман

http://social.msdn.microsoft.com/Forums/en/tfsbuild/thread/82b13bfd-5fd7-45f7-a681-d84c9ea52765

Изменить рабочую папку для ТФ попасть в папку, которая отображается в рабочей области.

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

(например, если вы делаете это из консоли:

cd c:\sources\myteamproject 

tf get ... 

)


Key: Изменение рабочей папки для получения tf в папку, отображаемую рабочей областью.

Я использую команду pushd C: \ Temp \ Team2 в моем файле сценария.

Update: Комментарии Райан Кромвеля

Вы можете создать и отобразить рабочую область в сценарии со следующими. Вторая команда работает, потому что первое рабочее пространство создается в папке «blah». «.» во второй команде указывается map '$ /' в текущем каталоге (blah). Вы можете изменить это как именованную папку или подпапку, если вы выберете.

Создать новую рабочую область
C:\projects\blah>tf workspace /new blah /noprompt /collection:http://<host>:<port>/tfs/<collection> /login:<username>,<pwd>

Карта путь в этом рабочем пространстве
C:\projects\blah>tf workfold /map $/ . /login:<username>,<pwd>

+2

Вы также можете сопоставить рабочее пространство в командной строке с рабочим пространством tf. –

6

Это расширяет @Kiquenet ответ. Это нелегко было сделать в комментариях :(

Вы можете создать и отобразить рабочее пространство в своем скрипте со следующей. Вторая команда работает, потому что первое рабочее пространство создается в папке «blah». 'во второй команде указывает map' $/'на текущий каталог (blah). Вы можете изменить это как именованную папку или подпапку, если вы выберете.

Создать новую рабочую область
C:\projects\blah>tf workspace /new blah /noprompt /collection:http://<host>:<port>/tfs/<collection> /login:<username>,<pwd>

Карта путь в этом рабочем пространстве
C:\projects\blah>tf workfold /map $/ . /login:<username>,<pwd>

+1

Если вы создаете их для временных папок, рекомендуется удалить их (через 'tf workspace/delete'), когда вы закончите (а также временную папку). – BrainSlugs83

1

Я имел эту проблему в команде города, выполняющей ps1 файл со следующим:

tf resolve FND.sql /auto:KeepYours 

tf checkout FND.sql /noprompt 

tf checkin FND.sql /noprompt 

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

Unable to determine the workspace. ... 

Пытается получить больше информации о том, что происходит, я вставить следующее заявление до 1-го вызова тфа:

tf workfold 

, когда я побежал Team Сити в следующий раз, ТФ workfold показал отображение, которое ранее не было распознано и существующие команды ТФА начали работать.

Он по-прежнему работал, когда я вынул команду tf workflold.

Я не понимаю этого, но, возможно, это сработает для других людей с этой проблемой.

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

Надеюсь, это поможет кому-то.

+0

*** Карта пути в этом рабочем пространстве *** _tf workfold_ – Kiquenet

Смежные вопросы