Destroy コマンド (Team Foundation バージョン管理)

バージョン管理されたファイルを Team Foundation バージョン管理から破棄つまり完全に削除するには、tf destroy コマンドを使用します。

破棄操作を元に戻すことはできません。 まだ必要なファイルは破棄しないでください。 バージョン管理システムのクリーンアップが必要になる場合があります。 たとえば、コンピューター ウイルスに感染したファイルがある場合、バージョン管理からそのファイルを完全に削除する必要があります。

/keephistory オプションを指定しないで tf destroy を実行する場合は、その前に、破棄するファイルを先に削除することをお勧めします。 詳細については、「バージョン管理からのファイルおよびフォルダーの削除」を参照してください。

ファイルを削除した後は、Team Foundation ウェアハウスを同期できます。 そうしないと、ウェアハウスは破棄された項目とは同期できません。

必要なアクセス許可

destroy コマンドを使用するには、Team Foundation 管理者セキュリティ グループに属している必要があります。 詳細については、「Team Foundation Server のアクセス許可」を参照してください。

tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>...<itemspecN>] 
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt] [/silent] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]]

パラメーター

引数

説明

itemspec1 [itemspec2…itemspecN]

破棄するファイルまたはフォルダーのサーバー パスを指定します。 複数の項目を削除するには、複数の itemspec 値を使用します。 たとえば、tf destroy $/TeamProject1 $/teamProject2 $/TeamProject3 のようにします。

ローカル パスはサポートされません。

versionspec

/keephistory オプションまたは /stopat オプションに対し、C58 などのバージョンを指定します。 指定できる値は、日付、Tip、または特定の変更セットです。 Team Foundation でバージョン指定を解析してそのスコープ内にある項目を確認する方法の詳細については、「コマンド ライン構文 (バージョン管理)」を参照してください。

username

/login オプションに値を指定します。 ユーザー名の値は、DOMAIN\UserName または UserName のいずれかとして指定できます。

TeamProjectCollectionUrl

破棄するファイルを含むチーム プロジェクト コレクションの URL (http://myserver:8080/tfs/DefaultCollection など)。

オプション

説明

/keephistory

省略可能。 内容は破棄しても、ファイルの履歴を保持することを指定します。 このオプションは、/preview オプションと一緒には指定できません。

/stopat

省略可能。 /keephistory も指定されている場合にのみ使用できます。

履歴を保持する対象として、ファイルのバージョンおよびそれに続くファイルを指定します。

/stopat の既定のバージョンは、項目の最後にチェックインされたバージョンの Tip (T) です。

ラベルまたはワークスペースの versionspec 値を使用して、 /stopat オプションの項目を指定することはできません。

/preview

破棄されるファイルを、[コマンド プロンプト] ウィンドウに表示します。 tf destroy をプレビュー モードで実行しても、ファイルは実際には破棄されません。

メモメモ
[コマンド プロンプト] ウィンドウでは、削除されるファイルごとに "Destroyed" と表示されます。ただし、/preview オプションを使用すると、ファイルが実際に破棄されることはありません。

/startcleanup

内容の削除の終了後直ちに、ファイルの内容のクリーンアップ処理を強制的に開始します。 /startcleanup を指定しないと、破棄された内容のクリーンアップ処理は、Visual Studio Team Foundation Server によって参照されなくなったすべてのファイルをデータベース保守がクリーンアップするときに行われます。 既定では、クリーンアップは 1 日に 1 回実行するようにスケジュールされます。

/noprompt

/i

ファイルの破棄を非対話形式で行うように指定します。 /i/noprompt のエイリアスです。

/silent

ファイルまたはフォルダーを破棄した場合、出力はコマンド プロンプト ウィンドウに書き込まれないことを指定します。

/login

Team Foundation Server でユーザーを認証するためのユーザー名とパスワードを指定します。

/collection

チーム プロジェクト コレクションを指定します。

解説

tf destroy を使用してバージョン管理ファイルを破棄するときは、Team Foundation Server のアプリケーション層が破棄要求を受け取り、ユーザーが Team Foundation 管理者セキュリティ グループのメンバーかどうかを確認します。 メンバーでない場合は、エラー メッセージ ダイアログ ボックスが表示され、操作を実行するために十分な権限がないことが伝えられます。

システムは、ユーザーの権限を検証した後で、destroy コマンドを実行します。 このコマンドは、すべてのファイル参照、シェルブセット、および保留中の変更を削除します。 ファイルが実際に破棄されて完全に削除されるのは、Team Foundation Server によって参照されなくなった内容のクリーンアップが次に行われるときです。 /startcleanup オプションを指定して、tf destroy の実行直後にファイルをクリーンアップすることもできます。

/i および /preview を指定しないで tf destroy を実行すると、filespec の値ごとに、Yes または No のプロンプトをコンソールに表示します。 または、Yes to all を指定することもできます。 /keephistory を指定しないと、保留中の変更 (ある場合) についての警告が対話形式のテキストで表示されます。 変更に関する詳細な情報が必要な場合、対話形式のテキストでは /preview が示されます。 /keephistory を指定した場合は、YesNo、または All のテキストによるプロンプトも表示されます。 Yes または All を選択すると、破棄処理が開始し、廃棄された項目に対するサーバー パスが [コマンド プロンプト] ウィンドウに表示されます。

Destroyed: <serverItem1>
Destroyed: <serverItem2>
Destroyed: ...

Tip として versionspec の値を指定すると、[コマンド プロンプト] ウィンドウに表示されるサーバー パスには削除 ID が含まれます。 たとえば、[コマンド プロンプト] ウィンドウに X123 などと表示されます。

/preview オプションを使用すると、ファイルは破棄されませんが、コマンド ライン テキストには破棄されるファイルが表示されます。 たとえば、コマンド ラインで「tf destroy /preview $/Test1/MyProject/MyProject/Program.cs」と入力すると、コマンド ウィンドウには次のようなテキストが表示されます。

Destroyed: $/Test1/MyProject/MyProject/Program.cs

ただし、/preview オプションを使用しているので、ファイルが実際に破棄されることはありません。

tf コマンド ライン ユーティリティの使い方の詳細については、「Tf コマンド ライン ユーティリティのコマンド」を参照してください。

他のバージョン管理操作に対する /keephistory の影響

/keephistory オプションを指定して破棄されたファイルの履歴を保持した場合、以下の Team Foundation バージョン管理操作では、ファイルは破棄されたものとして扱われます。

  • 内容の変更   破棄されたファイルの内容を変更しようとすると (編集や分岐など)、内容が破棄されていることを伝えるエラー メッセージが表示されます。

  • 分岐、マージ、アンシェルブ   破棄された項目を分岐、マージ、またはアンシェルブしようとすると、項目の内容が破棄されていることを伝えるエラー メッセージが表示されます。

以前に削除されている項目の破棄

項目が既に削除されている場合は、削除 ID が付加され、ファイル名が変わります。

説明

次の例では、a.cs ファイルを完全に削除します。

コード

C:\pi\ws1>tf destroy $/proj/pi/a.cs

説明

次の例では、コマンド ラインでフォルダー aFolder タイプを削除します。

コード

C:\tf delete $/MyTeamProject/aFolder

説明

削除された項目 aFolder を破棄するには、コマンド ラインで次のように入力する必要があります。

コード

tf destroy $/MyTeamProject/sFolder;x123

x123 は削除 ID です。

参照

処理手順

バージョン管理ファイルを破棄する

概念

コマンド ラインからのみ実行できる操作 (Team Foundation バージョン管理)

その他の技術情報

Tf コマンド ライン ユーティリティのコマンド