web-dev-qa-db-ja.com

TF.exeを使用してワークスペースを特定できません

私はこのスクリプト(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

次のエラーが表示されます。tfgetを実行しようとすると、ワークスペースを特定できません。

コンソール出力は次のようになります。

サーバー:project02

ワークスペース:DESCOMP

所有者:MyUser

コンピューター:DESCOMP

ワークスペース:Team.descomp

所有者:MyUser

コンピューター:DESCOMP

...

ワークスペース:Team.descomp(MyUser)

サーバー: http:// project02:8080 /

$ /チーム:C:\ Temp\Team2

...

ワークスペースを判別できません。

$/Team(チームプロジェクト)のマップは、MyUserとDescompの2つのマシンにあります。

ワークスペース:チームオーナー:MyUserコンピューター:MyUser

ワークスペース:Team.descomp所有者:MyUserコンピューター:DESCOMP

助言がありますか?

22
Kiquenet

フォーラムからMSDN:ホフマン氏

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

Tf getの作業フォルダーを、ワークスペースによってマップされているフォルダーに変更します。

ワークスペースがマップされているフォルダーからコマンドを実行します

(たとえば、コンソールから行う場合:

cd c:\sources\myteamproject

tf get ...


キー:tf getの作業フォルダーを、ワークスペースによってマップされているフォルダーに変更します。

スクリプトファイルでコマンドpushd C:\ Temp\Team2を使用しています。

更新:Ryan Cromwellによるコメント

以下を使用して、スクリプトでワークスペースを作成およびマップできます。最初のワークスペースは「blah」フォルダーに作成されるため、2番目のコマンドは機能します。 「。」 2番目のコマンドでは、「$ /」を現在のディレクトリにマップしています(何とか)。必要に応じて、名前を付けたフォルダまたはサブフォルダに変更できます。

新しいワークスペースを作成します
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>

40
Kiquenet

これは@Kiquenetの回答を拡張したものです。コメントでは簡単にできませんでした:(

以下を使用して、スクリプトでワークスペースを作成およびマップできます。最初のワークスペースは「blah」フォルダーに作成されるため、2番目のコマンドは機能します。 「。」 2番目のコマンドでは、「$ /」を現在のディレクトリにマップしています(何とか)。必要に応じて、名前を付けたフォルダまたはサブフォルダに変更できます。

新しいワークスペースを作成
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
Ryan Cromwell

チームシティで次のように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ワークフォールドには以前には認識されなかったマッピングが表示され、既存のtfコマンドが機能し始めました。

私がtf workfloldコマンドを取り出したとき、それはまだ機能しました。

よくわかりませんが、この問題を抱えている他の人にはうまくいくかもしれません。

以前、このWebサイトや他のWebサイトからいくつかの推奨事項を試してみましたが、成功しませんでした。

これが誰かを助けることを願っています。

2
janderson