Helix Core P4コマンドリファレンス (2019.1)

使用上の留意点

  • 既に存在するファイルのタイプは、p4 openedまたはp4 filesで判断できます。
  • デルタ記憶(textファイルのデフォルト方式)は、ファイルのリビジョン間の差分(つまり、デルタ)のみを保存する方法です。 フルファイル記憶(binaryファイルでのデフォルト方式)は、ファイル全体を保存します。 ファイルタイプにより、フルファイル記憶とデルタ記憶のどちらを使用するかが決まります。 Perforceは、デルタ記憶にRCS形式を使用します。
  • ファイルタイプによっては、ディポ内に保存するためにgzip形式に圧縮されます。 圧縮はサブミットのプロセス中に行われ、解凍は同期中に行われます。 サブミットされた時点のファイルが常にクライアントワークスペースに存在するため、このプロセスをユーザが意識することはありません。
  • 非UNIXクライアントワークスペース上のシンボリックリンクは、リンク先のファイルへの相対パスを含む小さなテキストファイルとして表示されます。 非UNIXクライアントでこれらのファイルを編集するときは注意してください。これらのファイルをディポにサブミットすると、シンボリックリンクがUNIXクライアントワークスペース上に存在しないファイルを指示することになる場合があるからです。
  • ファイルタイプを変更しても、ディポに保存された以前のリビジョンには影響しません。

    例えば、+Sn(一時オブジェクト)修飾子を追加してファイルタイプを変更すると、ファイルの最新n個のリビジョンのみディポに保存するようにPerforceに伝えます。 既存のファイルを一時オブジェクトに変更した場合は、それ以降(n番目より後)のリビジョンによって、古くなった最新リビジョンの後に保存されたリビジョンが消去されますが、+Sn修飾子を追加するにディポに保存されたファイルのリビジョンは影響を受けません。 (+Sn修飾子を追加したの最新でないリビジョンを同期しようとすると、そのファイルはクライアントワークスペースから削除されます。 このようなリビジョンは、p4 filelogの出力においてpurge操作として表示されます。)

  • +S修飾子と+Sn修飾子を指定して、一時オブジェクトファイルに対してp4 integrateコマンドを実行しても、遅延コピーは作成されません。 反映後のtempobjファイルにより、共有バージョニングサービスで追加のディスクスペースが使用されます。
  • 修正時刻(+m)修飾子は特殊な事例であり、ファイルのオリジナルのタイムスタンプを保持する必要のある開発者向けに作成されたものです。

    クライアントワークスペースでmodtimeオプションが使用されると、ファイル日付がリビジョンごとに進むことは保証されません。 例えば、ファイルがコピーされて反映されると(「theirsを承諾」)、ファイルには反映元ファイルのタイムスタンプが採用されます。 ユーザが古い日付のファイルをチェックインすると、クライアントワークスペースのファイルにはそれと同じ古い日付が使用されます。 通常、Perforceではファイルの同期時にタイプスタンプが更新されます。 modtimeオプションを指定すると、p4 syncコマンドの実行後のクライアントワークスペース内のファイルのタイムスタンプが、サブミット時にそのファイルに設定されていた元のタイムスタンプ(つまり、サブミット時におけるPerforceバージョニングサービスのタイムスタンプでも、同期時におけるユーザのワークステーションのタイムスタンプでもないタイムスタンプ)に戻ります。

    この修飾子が有効になる典型的な事例は、Windows環境によくあるサードパーティ製DLLを含む開発です。 このようなファイルに付与されたタイムスタンプは通常、開発環境内やOSによって、バージョン情報の代わりとして使用されるため、Perforceユーザのクライアント設定に関係なく、ファイルのオリジナルのタイムスタンプを保持する必要がある場合があります。

    ファイルの+m修飾子を設定した場合、ファイルを同期すると、サブミット時にファイルに付与されたオリジナルのタイムスタンプがPerforceによって復元されます。 これはPerforceによって以下が無視されることを意味します。

    • modtime(「サブミット時のファイルのタイムスタンプ」)
    • クライアントワークスペースのnomodtime(「同期時のクライアント上の日付と時刻」)オプション設定
  • 2000年よりも前のバージョンのPerforceでは、キーワードセットを使用してファイルタイプが指定されました。 以下の表は、旧キーワードとそれに対応する現在の基本ファイルタイプおよび修飾子とをリストにしたものです。

    旧キーワード 説明 基本ファイルタイプ 修飾子

    text

    テキストファイル

    text

    なし

    xtext

    実行可能なテキストファイル

    text

    +x

    ktext

    RCSキーワード拡張を行ったテキストファイル

    text

    +k

    kxtext

    RCSキーワード拡張を行った実行可能なテキストファイル

    text

    +kx

    binary

    非テキストファイル

    binary

    なし

    xbinary

    実行可能なバイナリファイル

    binary

    +x

    ctext

    圧縮されたテキストファイル

    text

    +C

    cxtext

    圧縮された実行可能なテキストファイル

    text

    +Cx

    symlink

    シンボリックリンク

    symlink

    なし

    ltext

    長いテキストファイル

    text

    +F

    xltext

    実行可能な長いテキストファイル

    text

    +Fx

    ubinary

    圧縮されていないバイナリファイル

    binary

    +F

    uxbinary

    圧縮されていない実行可能なバイナリファイル

    binary

    +Fx

    tempobj

    一時オブジェクト

    binary

    +FSw

    ctempobj

    圧縮された一時オブジェクト

    binary

    +Sw

    xtempobj

    実行可能な一時オブジェクト

    binary

    +FSwx

    xunicode

    実行可能なUnicodeファイル

    unicode

    +x

    xutf16

    実行可能なUTF-16ファイル

    utf16

    +x