2012-05-16 11 views
9

私はTFS 2010を使用しており、ソフトウェアの特定のバージョンラベルを簡単に取得できるようにスクリプトを作成しています。これは単純なgetだけなので、現在のワークスペース設定を使用したり、ワークスペースの設定を目的のパスに変更せずにgetを実行するだけですか? getの後でファイルをCMにリンクする理由はないので、私はこの 'workspace'を保存する理由はありません。私はちょうど私が欲しい場所にディレクトリを作成し、現在のディレクトリ、または私が 'オンザフライで'提供するディレクトリにファイルとラベル付けされた現在のバージョンのコピーを私にTFSに渡すことができるようにしたい。プロジェクトのワークスペース設定から単純なものを分離する方法はないようです。私は何かを見逃しているのですか?それとも、私が外出先に仕事場の設定を変更しなければならないのですか?ワークスペースの設定を無視して、指定したディレクトリパスまたは現在のディレクトリパスをTFSで取得する方法

+0

可能な複製[作業領域を必要とせずにTFSを取得できますか?](http://stackoverflow.com/questions/4712655/can-you-do-a-tfs-get-without-needing-a-ワークスペース) –

答えて

11

getを実行するにはワークスペースが必要ですが、Visual Studioで使用するワークスペースと同じである必要はありません。実際には、あなただけの、たとえば、単純な使い捨てのワークスペースを作成することができます

tf workspace /new temp_workspace /collection:http://server:8080/tfs/DefaultCollection /noprompt 
tf workfold /map $/Project/Project C:\Build\Project 
tf get C:\Build\Project /recursive /noprompt 
tf workspace /delete temp_workspace /collection:http://server:8080/tfs/DefaultCollection /noprompt 

TFS SDKは、あなたがプログラムを書くことができるように、ワークスペースを作成しなくてもItemのダウンロードを行うためのメカニズムを提供しないことに注意してくださいこれを行うには、かなりの量のコードが、最終的にはかなり安価な操作である作業領域の作成を避けることができます。

+0

ありがとうございます。私は、一時的なワークスペースを作成し、ファイルを取得し、ファイルの取得が成功した後すぐに一時的なワークスペースを削除することに行きます。私はまだあなたのためのこの一時的なフォルダの場所を設定するtf getのためのコマンドラインスイッチがあるべきだと思います。すべての目的は、この場所から編集が行われることはないため、最初にワークスペースにファイルを添付しないことです。 –

+0

@DeanRoberson:公正なポイント、私はそれが注目されることを確認します。ありがとう! –

+1

とにかくこれをスクリプトで完全に無人化するには?ワークスペース(tf workspace/new)を作成するたびに、ワークスペースの作成を確認するためのGUIウィンドウが表示されます。一時的なワークスペース(tf workspace/delete)を削除するたびに、y/nの応答を求めるプロンプトが表示されます。このためのスイッチは、tfコマンドラインユーティリティのマニュアルでは表示されません。 –

関連する問題