Emacs 24.3でp4.elを使う
能書き
仕事でPerforceを使うことになったので、EmacsからPerforceを操作出来るようにしてみる。
Subversionとは違い、Perforceはロック指向のVCSで、ファイルを編集する場合は「チェックアウト」して編集中であることを明示しなければならない。ワークスペース(svnで言うところの作業コピー)のファイルは基本的に読み取り専用属性がついており、チェックアウトして初めて書き込みが可能になるという仕組み。故に、エディタとp4が連携してないと非常に使いづらい。
Emacsで使えるPerfoce拡張は以下の2種類があるようだ。
- vc-p4.el
- p4.el
vc-p4.elはPerforce公式?の拡張で、EmacsのVersion Controlシステムに則ったものだそうだ。
対するp4.elはPerforceを熟知したユーザー向けの拡張で、Perforceの機能をフルに使えるのが特徴となっている。
今回はp4.elの方使ってみたいと思う。
試した環境
- Windows 7 Professional (x64)
- Perforce Rev. P4/NTX64/2013.1/821990
- 特に確認はしてないが、コマンドライン版のp4クライアントが入ってる必要があると思う。
インストール
MELPAから一発インストール可能。M-x list-packagesしてp4で検索すると出てくる。
尚、MELPAの設定についてはこっち→Emacs 24.3でMELPAを使う
設定
環境変数
ユーザー環境変数 P4FCONFIG を p4config に設定。
p4config
p4configファイルにデポへの接続設定を記述し、ローカルのワークスペースのルートに置いとくと、現在のワークスペースに合わせてp4クライアントが勝手に使い分けてくれる模様。
- |h p4config
P4PORT=プロトコル:サーバ:ポート P4USER=ユーザー名 P4CLIENT=ワークスペース名 P4CHARSET=文字コード
Unicodeを使っている場合は、デポに繋ごうとすると「unicode server permits only unicode clients」というエラーが出るのでP4CHARSETの指定が必須。