p4 typemapでファイルタイプを定義する
Helixサーバはファイルタイプがtext
であるかbinary
であるかを判定するときに調べるバイト数を決定するために、構成可能変数filesys.binaryscan
を使用します。デフォルトでは、filesys.binaryscan
は65536です。Helixサーバは、先頭65536バイトについて最上位ビットが立っていなければtext
と見なし、そうでなければbinary
と見なします。.zip
形式(.jar
ファイルを含む)で圧縮されたファイルも自動的に検出され、ubinary
タイプが割り当てられます。
このデフォルトの動作は-t filetype
フラグでオーバーライドできますが、ファイルタイプが(常時ではなく)おおむね正しく検出される場合は特に、ユーザがこのオプションを指定し忘れてしまう可能性が高くなります。RTF(Rich Text Format)やAdobe PDF(Portable Document Format)などの一部のファイルフォーマットは、一連のコメントフィールドまたはその他のテキスト形式のデータで始まることがあります。コメントがある程度長い場合、このようなファイルはHelixサーバによって誤ってtext
のタイプとして検出されます。
p4 typemap
コマンドにより、システム管理者はHelixサーバのファイルタイプとファイル名の仕様をリンクさせるテーブルを設定できるため、この問題を解決できます。追加されているファイルが設定したタイプマップテーブルの入力と一致すると、ファイルタイプがオーバーライドされ、一致しない場合には、Helixサーバアプリケーションがファイルタイプを割り当てます。例えば、すべてのPDFファイルとRTFファイルをbinary
として処理するには、p4 typemap
を使用してタイプマップテーブルを以下のように修正します。
Typemap: binary //....pdf binary //....rtf
最初の3個のピリオド(「...
」)はルートディレクトリ下の全ファイルをマッピングの対象に含めるHelixサーバのワイルドカードです。4個目のピリオドとファイル拡張子は、ファイル名の最後が.pdf
(または.rtf
)で終わるファイルを対象とする仕様です。
以下の表に、一般的なファイル拡張子と、それに対応する推奨するHelixサーバのファイルタイプおよび修飾子を示します。
ファイルタイプ | Helixサーバファイルタイプ | 説明 |
---|---|---|
|
|
アクティブサーバページタイプ |
|
|
Windowsビデオファイル |
|
|
Windowsビットマップファイル |
|
|
Btrieveデータベースファイル |
|
|
カンファレンスリンクファイル |
|
|
カスケードスタイルシートファイル |
|
|
Microsoft Wordドキュメント |
|
|
Microsoft Wordテンプレート |
|
|
エクスポートファイル(Microsoft Visual C++) |
|
|
GIF画像ファイル |
|
|
Gzip圧縮ファイル |
|
|
HTMLファイル |
|
|
HTMLファイル |
|
|
アイコンファイル |
|
|
アクティブサーバインクルードファイル |
|
|
アプリケーション初期設定ファイル |
|
|
JPEG画像ファイル |
|
|
Javaスクリプト言語ソースコードファイル |
|
|
ライブラリファイル(複数のプログラミング言語) |
|
|
ログファイル |
|
|
MPEGビデオファイル |
|
|
Adobe PDFファイル |
|
|
Sybase Power Designerファイル |
|
|
Microsoft PowerPointファイル |
|
|
Unity3Dファイル |
|
|
Microsoft Excelファイル |
上記の表で推奨されたすべてのファイル拡張子をHelixサーバのファイルタイプにマッピングするには、次のようにp4 typemap
テーブルを使用します。
# Perforce File Type Mapping Specifications. # # TypeMap: a list of filetype mappings; one per line. # Each line has two elements: # Filetype: The filetype to use on 'p4 add'. # Path: File pattern which will use this filetype. # See 'p4 help typemap' for more information. TypeMap: text //....asp binary+F //....avi binary //....bmp binary //....btr text //....cnf text //....css binary //....doc binary //....dot binary+w //....exp binary+F //....gif binary+F //....gz text //....htm text //....html binary //....ico text //....inc text+w //....ini binary //....jpg text //....js binary+w //....lib text+w //....log binary+F //....mpg binary //....pdf text+w //....pdm binary //....ppt binary //....xls
あるファイルタイプに複数のファイルタイプ修飾子を使用する必要がある場合、修飾子を続けて指定します。例えば、binary+lFS10
とすると、binary
タイプで排他的作業状態(l
)であり、圧縮されずに完全な形で保存され(F
)、最新の10リビジョンのみが保存されている(S10
)ファイルを意味します。
詳細については、『Helix Core P4コマンドリファレンス』のp4 typemap
のページを参照してください。