3

現在作業中のワークスペースを台無しにしないで、tf を使用して TFS のラベルのディレクトリ構造を取得するバッチ スクリプトが必要です。

これは私が思いついたものです:

tf workspace /new TemporaryWorkspace /noprompt

これにより、新しいワークスペースが作成されますが、次の作業フォルダーがあります: $/: C:\ (C: からコマンドを実行したことを考慮して)

これは私が望むものではありませんが、「tf workspace /new」ではマッピングを指定できないようです。そのため、これを実行してデフォルトのマッピングを削除しました。

tf workfold /unmap $/ /workspace:TemporaryWorkspace

次に、これで目的のマッピングを作成します。

tf workfold /workspace:TemporaryWorkspace /map $/Project/Path C:\Temp\Path

現在のディレクトリをローカルの作業フォルダーに変更します (現在のワークスペースを選択する別の方法は知りません)

PUSHD C:\Temp\Path

これで、ようやくラベルを取得して、自分の作業を行うことができます。

tf get /version:LMyBeautifulLabel

さて、掃除です。

tf workspace /delete TemporaryWorkspace /noprompt

戻る

POPD

これらはすべて、私の謙虚な目的には少し面倒に思えます。もっと簡単な方法はありますか?

ありがとう。

4

1 に答える 1

1

残念ながら、適切な作業フォルダー マッピングを使用してワークスペースを作成し、get. これを設定するためのワンライナーエイリアスはありません。

削除する必要のない適切な作業フォルダー マッピングを使用して長寿命のワークスペースを作成することでうまくいく場合がありますが、このワークフローを頻繁に使用しているが、異なるラベルまたは異なる場所で使用している場合は、新しい一時ワークスペースを作成してください。毎回がおそらく最も理にかなっています。

ここでの最善の解決策は、このワークフローを実行するコマンド スクリプトを作成するか、あまり知られていないtfコマンド ライン クライアントのスクリプト機能を使用することです。tf以下を使用してスクリプトを実行できます。

tf @<filename>

または単に使用する:

tf @

標準入力から読み取る。

于 2011-08-11T19:18:05.643 に答える