ユーザ用ツール

サイト用ツール


ue4:perforce

文書の過去の版を表示しています。


Perforce

Perforce とは

Git, Mercurial, SVN のようにファイルのバージョン管理を行うためのソフトウエアです。 Git, Mercurial といった分散型とは異なり、中央サーバーが必要な集中型1)となっています。 集中型なので、排他的ロックが可能でバイナリデータの扱いに向いています。 また非常に高速であり、UE4 のような巨大なエンジンや、膨大な PC/コンソールゲームのリソースなどをまとめて管理する用途に向いています。 UE4 では標準で Perforce をサポートしており、ゲーム開発でも Perforce と組み合わせて用いられるケースが増えています。

Perforce を利用するにはライセンスの購入が必要です。 ただし 5 user までは無料で利用できるので、個人などの小規模な場合はコストが掛かりません。

Server を起動する

Windows の場合

Windows PC をサーバーにする場合の手順です。一人で使う場合は作業 PC にそのまま入れてください。

  1. helix-versioning-engine-x64.exe を実行
  2. Port Number はそのまま 「 1666 」
  3. Server は「 ssl:1666 」に変更
  4. インストールが終わったら、以下 Command プロンプト (cmd.exe や powershell.exe) から作業します

すでに起動しているサーバーを一旦停止します。

p4 admin stop

データベースと ssl の設定を行います。管理者権限でなくても構いません。先に P4ROOT , P4SSLDIR のフォルダを作っておいてください。

p4 set -s P4ROOT=C:\Perforce\root
p4 set -s P4SSLDIR=C:\Perforce\ssl
p4 set -s P4CHARSET=utf8
p4 set -s P4PORT=ssl:localhsot:1666
p4d -xi
p4d -Gc

データベースの場所や文字コードなど、各種設定を行います。 これはサーバー(Service)側の設定になります。 管理者権限が有効な Console (cmd.exe や PowerShell) で実行してください。

p4 set -S perforce P4PORT=ssl:1666
p4 set -S perforce P4ROOT=C:\Perforce\root
p4 set -S perforce P4SSLDIR=C:\Perforce\ssl
p4 set -S perforce P4CHARSET=utf8

サーバーを起動します。これも管理者権限が必要です。

svcinst start -n perforce

ユーザーを追加します。ここから先は管理者権限でなくても構いません。

p4 trust のあとに yes を入力します。

p4 trust

任意のユーザーを追加します。エディタ (メモ帳) が立ち上がるのでそのまま閉じます。(必要ならメールアドレスの修正)

p4 user <ユーザー名>

下記のコマンドで、ユーザーが追加されているかどうか確認できます。

p4 users

アクセス権限を有効化します。 下記のコマンドを実行するとエディタ (メモ帳) が開くので、下の方で自分のユーザーが “super” になっていることを確認してください。 問題なければ何もせずに閉じます。

p4 protect

これで終わりです。 あとは P4V などの client から Perforce Server を利用することができます。

Linux の場合

Windows よりも高速なので、可能なら Linux をサーバーにした方が良いようです。

  1. p4d と p4 command を download しておいてください

下記手順ではとりあえず一般ユーザー権限でサーバーを起動しています。

サーバー起動

$ mkdir $HOME/perforce
$ mkdir $HOME/perforce/root
$ mkdir $HOME/perforce/ssl
$ chmod 700 $HOME/perforce/ssl
$ export P4ROOT=$HOME/perforce/root
$ export P4SSLDIR=$HOME/perforce/ssl
$ export P4PORT=ssl:1666
$ export P4CHARSET=utf8
$ cd $HOME/perforce/root
$ p4d -xi
$ p4d -Gc
$ p4d

ユーザー作成など

$ export P4PORT=ssl:localhost:1666
$ export P4CHARSET=utf8
$ p4 trust
$ p4 user admin
$ p4 users
$ p4 protect

あとは p4 admin を使って gui 上で設定可能。

P4V を使う

  • P4V の install
    1. p4vinst64.exe を実行します
    2. Server には 「 ssl:<サーバー名>:1666 」を入れます。同じ PC でサーバーを起動した場合は「 ssl:localhost:1666 」になります。
  • 初回起動時
    1. start menu から P4V を起動します
    2. “Open Connection” 画面では Perforce の User 名を入力します。
    3. Workspace 列の右側にある [ New ] をクリックします。
    4. もし “Perforce Fingerprint Required” ダイアログが出たら Trust this fingerprint にチェックを入れて [Connect]
    5. “Workspace: New” のダイアログが表示されるので下記のように入力して [OK] をクリック
      • Workspace name: <任意>
      • Workspace root: <任意の作業フォルダのパス>
    6. “Open Connection” 画面に戻るので、そのまま [OK]
    7. “Choose Character Encoding” が出たら「UTF-8」

UE4/UE5 向けの設定

Typemap

UE4 のアセットを扱う場合は typemap の設定が必要です。

p4 typemap

テキストエディタ (メモ帳) が開くので、下記のページにある TypeMap の一覧をコピペします。

上記以外にも、排他ロックが必要な binary file は “binary+l” で追加しておいてください。

UE5 からは json への “+w” が必要なので注意。

TypeMap:
	binary+w //....exe
	binary+w //....dll
	binary+w //....lib
	binary+w //....app
	binary+w //....dylib
	binary+w //....stub
	binary+w //....ipa
	binary+w //....pdb
	binary+w //....obj
	binary+w //....a
	binary+w //....response
	binary+w //....o
	binary+w //....bin
	text+w //....target
	text+w //....modules
	text+w //....version
	text+w //....generated.h
	text+w //....xml
	text+w //....log
	text+w //....exe.config
	text+w //....tps
	text+w //....csproj
	text+w //....csproj.References
	text+w //....json
	text+w //....tlh
	text+w //....tli
~

P4IGNORE

Git/Mercurial と違い、除外ファイルは配置するだけではだめで、予め設定しておく必要があります。 またプロジェクトではなくユーザー単位の設定になるので、使用する方が各自設定を行ってください。

p4 set P4IGNORE=<除外設定ファイルのパス>

p4 set P4IGNORE=D:\Workspace\UE\.p4ignore.txt

除外指定は Git/Mercurial ほど柔軟ではなくかなり制限があります。

git のようなより厳密な除外判定を行いたい場合は、p4 add するための外部ツールを用意した方が良いでしょう。

P4V を使用する場合の注意点

コマンドラインから設定する P4CHARSET は、“utf8” を設定すると BOM 無しになります。BOM を使用する場合は “utf8-bom” を設定します。

P4V で設定する CHARSET の “utf-8” はコマンドラインの設定と逆になるので注意してください。デフォルトの “Unicode (UTF-8)” は BOM 付きです。BOM 無しにするには、“Unicode (UTF-8, no BOM)” を選択する必要があります。

P4 Command Line P4V
UTF-8 BOM 無し utf8 Unicode (UTF-8, no BOM)
UTF-8 BOM あり utf8-bom Unicode (UTF-8)
  • P4V の場合はメニューの Connection → “Choose Character Encoding…” で設定できます。
1)
最新版では分散型としても使えるようです
ue4/perforce.1640480326.txt.gz · 最終更新: 2021/12/26 09:58 by oga

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki