Shelve コマンド

更新 : 2007 年 11 月

保留中の変更のセットを保留中のチェックイン メモ、コメント、および関連する作業項目の一覧と共に Team Foundation Server 上に格納します。ただし、それらを実際にバージョン管理サーバーにチェックインすることはありません。

必要なアクセス許可

shelve コマンドを使用するには、シェルブセットの所有者であるか、[シェルブされた変更の管理] のアクセス許可が [許可] に設定されている必要があります。詳細については、「Team Foundation Server のアクセス許可」を参照してください。

tf shelve  [/replace] [/comment:("comment"|@commentfile)] [shelvesetname[;owner] [/validate]

tf shelve [/move] [/replace] [/comment:("comment"|@commentfile)] 
[/recursive] shelvesetname[;owner] itemspec [/validate]

tf shelve /delete [/server:servername] shelvesetname[;owner] [/validate]

パラメータ

引数

説明

commentfile

シェルブセットのコメントの読み込み元になるファイルのファイル システム パスを指定します。

comment

シェルブセットのコメントを指定します。

servername

/server オプションにユーザーが指定した値。

itemspec

シェルブするファイルまたはフォルダを指定します。既定では、このパラメータが指定されていない場合は、現在のワークスペース内のすべての保留中の変更がシェルブされます。Team Foundation で itemspecs を解析してスコープ内にある項目を確認する方法の詳細については、「コマンド ライン オプション」を参照してください。

shelvesetname

Team Foundation サーバーからシェルブセットを取得できるようにするための名前を指定します。shelvesetname と owner の既存の組み合わせを指定できますが、/replace も指定されている場合に限ります。

このパラメータには値が必要です。

owner

シェルブセットの現在の所有者または今後の所有者をユーザー名で指定します。既定では、このパラメータが指定されていない場合は、現在のユーザーがシェルブセット所有者として割り当てられます。

オプション

説明

/move

シェルブ操作が正常に終了した後にワークスペースから保留中の変更を削除します。

/replace

既存のシェルブセットを、指定するシェルブセットと同じ名前および所有者で置き換えます。

/delete

指定したシェルブセットを削除します。このオプションと組み合わせることができるのは、/server オプションだけです。/noprompt オプションを指定していない場合は、/delete オプションを指定すると確認メッセージが表示されます。

/comment

シェルブされた変更を説明する、指定したコメントを追加します。

/recursive

指定した itemspec がフォルダの場合は、指定したシェルブセット フォルダ内のすべての項目、そのフォルダのサブフォルダ、およびその中のすべての項目をシェルブします。

/server

指定したシェルブセットの作成、変更、または削除を行う Team Foundation バージョン管理 サーバーを指定します。

/noprompt

入力用のプロンプトを表示しません。

/validate

/noprompt と組み合わされていない場合にのみ有効です。

このオプションを指定すると、[シェルブ - ソース ファイル] ダイアログ ボックスが開いたときに、妥当性確認チェック ボックスがオンになります。妥当性確認チェック ボックスがオンの場合、ダイアログ ボックスでチェックイン ポリシーが評価され、必要なチェックイン メモが入力されていることが検証されます。このオプションは、レビューやチェックインに備えて変更が他のユーザーから渡されている場合に役に立ちます。

解説

tf コマンド ライン ユーティリティの shelve コマンドでは、保留中の変更、関連する作業項目の一覧、進行中のチェックイン メモ、およびコメントが Team Foundation Server のシェルブセットにバックアップされます。シェルブセットは、サーバーにコミットされない変更セットによく似ています。変更セットと同様に、十分なアクセス許可を持つユーザーであれば、シェルブセットをサーバーからローカル ワークスペースに取得できます。

シェルブは、保留中の変更が十分にテストされていない場合に、その保留中の変更のチェックインに代わる方法です。作業を中断して次のことを行う場合にシェルブを利用してください。

  • バージョン管理サーバーに変更をチェックインせずに、別の開発者またはテスト担当者と共にローカル作業ファイル セットを共有する。

  • 優先度の高い懸案事項を処理できるように、保留中の変更のグループをチェックインせずに一時的に無視する。優先度の高いタスクの処理が完了した後に、Unshelve コマンドを使用してシェルブされた変更を復元できます。

/move オプションを指定すると、shelve コマンドでは、シェルブされたすべてのファイル リビジョンが、サーバーから現在のワークスペースに取得された最新バージョンである、基本ワークスペース バージョンにロールバックされます。特に、/move オプションでは、シェルブするすべての項目について次のことが確認されます。

  • シェルブされた変更を元に戻すために Undo を使用する。追加が保留されていたファイルは、ワークスペースから削除されます。

  • 保留中のエディションが存在するすべてのファイルの基本ワークスペース バージョンが、サーバーから現在のワークスペースに取得されている。

  • 現在のワークスペース内のすべての項目が読み取り専用に設定されている。

/delete オプションを指定すると、Team Foundation では、指定したシェルブセットが Team Foundation サーバーから永続的に削除されます。

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

次の例は、Team Foundation Server に Reflector_BuddyTest という新しいシェルブセットを作成して、ユーザー Hans に所有権を割り当てた後、現在のワークスペースにおけるすべての項目を、最後の get 操作でダウンロードした最新バージョンに戻し、読み取り専用の状態に設定します。

c:\projects> tf shelve Reflector_BuddyTest;Hans /move

次の例は、既存のシェルブセット "new-feature" をサーバーから削除して、その名前で新しいシェルブセットを作成し、保留中の変更すべてを現在のワークスペースに保持します。

c:\projects> tf shelve new-feature /replace

次の例は、HelloWorld_TestMe という名前のシェルブセットを作成します。このシェルブセットに、C:\projects 作業フォルダとそのサブフォルダ内のすべての .cs ファイルに対する、すべての保留中の変更が格納されます。

c:\projects> tf shelve HelloWorld_TestMe c:\projects\*.cs /recursive

次の例は、HelloWorld_24 シェルブセットを削除します。

c:\projects> tf shelve HelloWorld_24 /delete

参照

処理手順

方法 : 保留中の変更をシェルブおよびアンシェルブする

概念

バージョン管理シェルブセットの操作

保留中の変更

参照

コマンド ライン構文 (Team System)

Checkin コマンド

Changeset コマンド

Unshelve コマンド

その他の技術情報

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