Невозможно определить рабочую область с помощью TF.exe - PullRequest
20 голосов
/ 01 февраля 2011

У меня есть этот скрипт (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

Рабочая область: команда.descomp

Владелец: MyUser

Компьютер: DESCOMP

...

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

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

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

...

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

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

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

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

Есть предложения?

Ответы [ 3 ]

38 голосов
/ 02 февраля 2011

Из форумов MSDN: Мистер Хофман

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

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

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

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

cd c:\sources\myteamproject

tf get ...

)


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

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

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

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

7 голосов
/ 02 апреля 2012

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

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

У меня была эта проблема в Team City, когда я выполнял файл 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. ...

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

tf workfold

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...