Подтвердить что ты не робот

Невозможно определить рабочую область, используя TF.exe

У меня есть этот script (bat файл)

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

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

Выход консоли аналогичен:

Сервер: project02

Рабочая область: DESCOMP

Владелец: MyUser

Компьютер: DESCOMP

Рабочая область: Team.descomp

Владелец: MyUser

Компьютер: DESCOMP

...

Рабочая область: Team.descomp(MyUser)

Сервер: http://project02:8080/

$/Команда: C:\Temp\Team2

...

Невозможно определить рабочую область.

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

Рабочее пространство: Владелец команды: MyUser Компьютер: MyUser

Рабочая область: Team.descomp Владелец: Компьютер MyUser: DESCOMP

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

4b9b3361

Ответ 1

Из форумов MSDN: Mr. Hofman

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

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

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

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

cd c:\sources\myteamproject

tf get ...

)


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

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

Обновление: комментарии Райана Кромвеля

Вы можете создать и отобразить рабочее пространство в script со следующим. Вторая команда работает, потому что первое рабочее пространство создается в папке "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

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

Вы можете создать и отобразить рабочее пространство в script со следующим. Вторая команда работает, потому что первое рабочее пространство создается в папке "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>

Ответ 3

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

tf resolve FND.sql /auto:KeepYours

tf checkout FND.sql /noprompt

tf checkin FND.sql /noprompt

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

Unable to determine the workspace. ...

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

tf workfold

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

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

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

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

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