p4 typemap
ファイル名をファイルタイプにマッピングしているテーブルを修正します。
構文
p4 [g-opts] typemap
p4 [g-opts] typemap -o
p4 [g-opts] typemap -i
説明
p4 typemap
コマンドにより、Helixサーバ管理者は、Helixサーバファイルタイプをファイル指定にリンクするテーブルを設定できます。 ファイル名がタイプマップテーブル中のエントリに適合する場合、このコマンドは、ファイル名に適合するファイルタイプがないときにHelixサーバが割り当てるファイルタイプをオーバーライドします。
デフォルトでは、Helixサーバはファイルの先頭の65,536バイトの分析に基づいて、ファイルのタイプがtext
なのかbinary
なのかを自動的に判別します。 先頭の65,536バイトの各バイトで最上位ビットが0の場合、Helixサーバはこのファイルタイプをtext
とみなし、そうでなければbinary
とみなします。 .zip
形式(.jar
ファイルを含む)で圧縮されたファイルも自動的に検出され、ubinary
タイプが割り当てられます。
このデフォルトの動作は、-t filetype
オプションを使用すればオーバーライドできますが、ファイルタイプが(常時ではないが)おおむね正しく検出される場合、このオプションの指定を忘れてしまうことが少なくありません。 典型的な例は、PDFファイル(65536バイト以上のASCIIコメントで始まるものがあります)や、通常は書式コードが埋め込まれているRTFファイルの場合に見られます。
p4 typemap
コマンドは、より完全な解決策を提供します。このコマンドで管理者は、特定のファイル(例えば名前が.pdf
や.rtf
で終わるファイル)がディポに追加されるとき、デフォルトのタイプ検出機構が働かないようにし、常に希望するPerforceファイルタイプが確実に割り当てられるようにすることができます。 詳細については、「p4 add」を参照してください。
ユーザは、Helixサーバのコマンドラインでファイルタイプを明確に指定することにより、タイプマップテーブルで定義されたあらゆるファイルタイプマッピングをオーバーライドできます。
フォームフィールド
p4 typemap
のフォームには[TypeMap:
]フィールドのみがあり、このフィールドにはディポシンタックスで指定されたファイルパターンにファイルタイプをリンクする値のペアが含まれます。
列 | 説明 |
---|---|
|
Helixサーバに対応するすべてのファイルタイプ。 有効なファイルタイプのリストについては、「ファイルタイプ」を参照してください。 |
|
ディポシンタックスのファイルパターンです。 ユーザがこのパターンに適合するファイルを追加すると、そのデフォルトのファイルタイプはテーブルで指定されたファイルタイプとなります。 ファイルをタイプマップから除外するには、除外( |
オプション
|
エディタを起動せずに、標準入力からタイプマップテーブルを読み取ります。 |
|
エディタを起動せずに、標準出力にタイプマップテーブルを書き出します。 |
|
詳細については、「グローバルオプション」を参照してください。 |
使用上の留意点
ファイル引数にリビジョン指定子を使えるか? | ファイル引数にリビジョン範囲を使えるか? | 最低限必要なアクセスレベル |
---|---|---|
適用外 |
適用外 |
admin、 |
- 希望するサブディレクトリまたはその配下にあって、特定の拡張子を持つすべてのファイルを指定するには、ディレクトリ名に続けてピリオドを4個使用し、その後に拡張子を付けます。 (例えば、
//
) 最初の3つのピリオドは「このレベル以下にあるすべてのファイル」を指定します。 4番目のピリオドと付属の拡張子は、「これらの文字で終わる」と解析されます。path
/....ext
- タイプマップテーブルでは、ファイルタイプ修飾子を使用できます。 ディレクトリツリー全体にわたるキーワード拡張を強制的にオン/オフにする場合、元のファイルの更新時刻(
+m
ファイルタイプ修飾子)をサードパーティ製DLLのディレクトリに強制的に保存する場合、または悲観的ロックのポリシーを採用する場合などに役立ちます。 - 複数のファイルタイプ修飾子は続けて指定してください。 例えば、
binary+lFS10
とすると、binary
タイプで排他的作業状態(l
)であり、圧縮されずに完全な形で保存され(F
)、最新の10リビジョンのみが保存されている(S10
)ファイルを意味します。 構文の詳細については、「ファイルタイプ」を参照してください。 -t
オプションとファイルタイプ修飾子を使用してコマンドラインでファイルタイプを指定する場合、参照しているファイルがp4 typemap
マッピングの対象になっていれば、コマンドラインで指定したファイルタイプは、タイプマップテーブルで指定したファイルタイプをオーバーライドします。
例
Perforceサービスに、すべてのPDFおよびRTFファイルをbinary
とみなすよう通知するには、p4 typemap
を実行してタイプマップテーブルを以下のように変更します。
Typemap: binary //....pdf binary //....rtf
指定子中の最初の3個のピリオド(「...
」)は、ルートディレクトリ配下のすべてのファイルがマッピングの一部に含まれることを規定するHelixサーバワイルドカードです。 4個目のピリオドとファイル拡張子は、ファイル名の最後が.pdf
(または.rtf
)で終わるファイルを対象とする仕様です。
サイトによっては、より複雑な状況が発生することもあります。例えば、ディポ内のあるエリアにいるユーザが、文書を収録しているプレーンなASCIIテキストファイルに拡張子.doc
を使用する一方で、別のエリアで作業しているユーザが、人気ワープロソフトで使用されているバイナリファイル形式でファイルを参照するために.doc
を使用する、といった状況です。 このような状況で有効なタイプマップテーブルは、次のようになります。
Typemap: text //depot/dev_projects/....doc binary //depot/corporate/annual_reports/....doc
すべての.c
および.h
ファイルについてキーワード拡張を有効にし、自分の.txt
ファイルについてはキーワード拡張を無効にするには、次のようにします。
Typemap: text+k //depot/dev_projects/main/src/....c text+k //depot/dev_projects/main/src/....h text //depot/dev_projects/main/src/....txt
指定したディレクトリ内のファイルに、確実に元のファイルの修正時刻を(サブミットの日付に関係なく)保存させるには、次のようにします。
Typemap: binary //depot/dev_projects/main/bin/... binary+m //depot/dev_projects/main/bin/thirdpartydll/...
bin
ディレクトリやその配下にあるすべてのファイルに、タイプbinary
が割り当てられます。 後のマッピングが前のマッピングをオーバーライドするので、サブディレクトリbin/thirdpartydll
内のファイルには、代わりにタイプbinary+m
が割り当てられます。 +m
(修正時刻)ファイルタイプ修飾子の詳細については、「ファイルタイプ」を参照してください。
デフォルトでは、Helixサーバは同時並行開発をサポートしていますが、ファイルを編集のために作業状態にするのは一度に1人のユーザのみであることが想定される環境では、部分ファイルタイプで修飾子+l
(排他的作業状態)を使用して悲観的ロックを実施することができます。 次のようにタイプマップを定義すると、ディポ内にあるすべての新規で追加されたファイルに対し+l
修飾子が自動的に適用されます。
Typemap: +l //depot/...
関連コマンド
タイプマップテーブルをオーバーライドして、新しいファイルを特定のタイプで追加する |
|
タイプマップテーブルのあらゆる設定をオーバーライドして、作業状態にあるファイルのファイルタイプを変更する |
|