このトピックでは、Team Foundation Server のプラットフォーム間のコマンド ライン クライアントの一般的な構文と使用法について説明します。
このトピックの内容
オプションの指定
Unix を実行しているコンピューターの絶対パスの先頭文字は常にスラッシュになるため、ハイフンを使用してオプションを起動する必要があります。 そうしないと、Team Foundation Server のプラットフォーム間のコマンド ライン クライアント はパスとオプションを判別できません。 Visual Studio のコマンド ライン クライアントのドキュメントに記載されている例では、スラッシュを使用してオプションを示していますが、どちらのクライアントにも共通するコマンドについては、代わりにハイフン (-) を使用する必要があります。
引用符とエスケープ
コマンドに対する引数に、シェルによって特殊文字と見なされる文字が含まれている場合、それらの引数をエスケープするか引用符で囲む必要があります。 Windows オペレーティング システムでは、通常、引数を引用符 ("") で囲む必要があるのは、引数にスペースが含まれている場合だけです。 Unix シェルには他の要件もあります。
Unix シェル
Unix シェルでは、ワイルドカードや正規表現などに対して多くの特殊文字がサポートされています。 Unix シェルでリテラル テキストを指定するには、次の 3 つの方法を使用できます。
文字の前に円記号 (\) を付けて、文字のリテラル値を保持します。
テキストを単一引用符 ('') で囲んで、囲まれた文字のリテラル値を保持します。
ドル記号 ($) とワイルドカードを使って参照されているシェル変数は、単一引用符で囲まれている場合は展開されません。
テキストを二重引用符 ("") で囲んで、囲まれた文字のリテラル値を保持します。ただし、$、`、\、および ! は除きます。
このような例外が原因で、変数が展開され、サブシェルも評価対象となります。さらに、円記号を使用すると文字をエスケープすることができ、履歴イベントも展開されます。
注意
Visual Studio Team Foundation Server のサーバー パスの先頭文字はドル記号ですが、Unix シェルでは、変数の展開を開始する際にドル記号を使用します。 sh、ksh、bash、zah などのシェルでは、ドル記号の後に続くサーバー パス内の文字が有効な変数名ではないと認識されます。 そのため、このようなシェルは Team Foundation Server のプラットフォーム間のコマンド ライン クライアントにドル記号をそのまま渡します。
ただし、csh から派生したシェル (tcsh など) では、このようにコマンド ラインが解析されることはありません。 このようなシェルでは、ドル記号を読み取り、その後に続くテキストと一致する変数を置き換えようとします。 後に続くテキストがスラッシュ (/) で、これらのシェルでは変数名の先頭文字が英字である必要があるため、エラーが表示されます。 csh シェルまたは tcsh シェルを使用する場合は、円記号または単一引用符を使用してサーバー パス内のドル記号をエスケープする必要があります。
例
Windows を実行しているコンピューター上で空白が含まれているパスを囲む方法を次の例に示します。
tf checkout -recursive “$/Inventory/Client Suite/”
Unix を実行しているコンピューター上で円記号を使用して 1 文字をエスケープする方法を次の例に示します。
tf checkout -recursive $/Inventory/Client\ Suite/
Unix を実行しているコンピューター上で単一引用符を使用してパスを囲む方法を次の例に示します。
tf checkout -recursive ‘$/Inventory/Client Suite/’
Unix を実行しているコンピューター上で二重引用符を使用してパスを囲む方法を次の例に示します。
tf checkin -comment:”Fixed the bug\!” file.java
Unix を実行しているコンピューター上で csh シェルまたは tcsh シェルを使用する際に円記号を使用してパス内のドル記号をエスケープする方法を次の例に示します。
tf checkout -recursive \$/Inventory/Client\ Suite/
Unix を実行しているコンピューター上で csh シェルまたは tcsh シェルを使用する際に単一引用符を使用してパス内のドル記号を囲む方法を次の例に示します。
tf checkout -recursive ‘$/Inventory/Client Suite/’
Unix を実行しているコンピューター上で csh シェルまたは tcsh シェルを使用する際に二重引用符を使用してパス内のドル記号を囲む方法を次の例に示します。
tf checkout -recursive \$”/Inventory/Client Suite/”
項目の指定
項目の指定は、Team Foundation Server のプラットフォーム間のコマンド ライン クライアントのオプションまたはコマンドに対する入力パラメーターであるファイルまたはフォルダーを示すローカル パスまたはサーバー パスです。 項目の指定には、バージョン指定サフィックスをセミコロンで区切って含めることができます。 このサフィックスは省略可能です。 サフィックスを指定するのは、項目の履歴バージョンを参照する場合だけです。
項目の指定の例は次のとおりです。
項目の指定 |
説明 |
---|---|
$/Inventory/src |
フォルダーへのサーバー パス |
$/Inventory/src/Class.java |
ファイルへのサーバー パス |
/tmp/Inventory |
作業フォルダーへのローカル パス (Unix) |
/tmp/Inventory/src/Class.java |
ファイルへのローカル パス (Unix) |
C:\Inventory\src |
作業フォルダーへのローカル パス (Windows) |
C:\Inventory\src\Class.java |
ファイルへのローカル パス (Windows) |
$/Inventory/src;C4095 |
フォルダーの変更セット 4095 へのサーバー パス |
. \Class.java;C129 |
ファイルの変更セット 129 への相対ローカル パス (Windows) |
./Class.java;Lrelease-1.0 |
ファイルのラベル "release-1.0" への相対ローカル パス (Unix) |
$/Inventory/src/file.txt;Wdev;john |
開発ワークスペース内の John が所有するバージョンへのサーバー パス |
file.txt;D01/01/2007 |
2007 年 1 月 1 日のローカル パス |
file.txt;X1067 |
deletionID が 1067 の以前に削除されたファイル |
バージョン指定
バージョン指定は、バージョン管理内の項目の特定の 1 バージョンまたはバージョンの範囲を参照する特殊な形式の文字列です。 バージョン指定の使用方法は 2 とおりあり、項目の指定 (詳細については、前述の「Item Specifications」を参照) のサフィックスとして使用するか、特定のコマンドに対する /version オプションへのスタンドアロン値として使用します。
バージョン指定の例は次のとおりです。
バージョン指定の形式 |
説明 |
---|---|
T |
最新バージョン |
Cn |
変更セット n のバージョン |
LlabelID |
ラベル labelID のバージョン |
Wname; owner |
owner が所有するワークスペース名 name の現在のバージョン |
Ddatestring |
datestring で指定されている日付と時刻のバージョン |
XdeletionID |
サーバーによって削除され、deletionID が指定されたバージョン |