Loading
よくある質問

P4Convert 利用手順

📅更新日: 2026-07-29🏷️P4p4convert手順Article ID: 000001927

概要

P4Convertは、既存のSubversion環境またはCVS環境から新たなPerforce環境を構築する、Javaベースの移行ツールです。
Perforce Software社がサポートユーティリティとしてWorkshop上で公開しています。
Subversionの場合、移行するデータはダンプファイル(.dmp)から取得します。
移行にはIMPORTモード(ワークスペースを利用)とCONVERTモード(ジャーナルを利用)があります。
こちらでは、IMPORTモードでの移行を説明します。

サポートについての注意事項

P4Convertは、Perforce Software社が商用として販売している製品ではありません。
弊社では、P4Convertを日本語版として正式にはリリースしておりません。
これは、P4Convertについての簡単な動作検証は行っていますが、日本語OS上での日本語入出力を網羅的に検証してはいないことを意味します。
Perforce Software社も弊社も、P4Convertに関する技術的な問い合わせは承りますが、商用製品のような(即時性の高い)不具合修正には対応できない場合があることをご理解ください。
お客様がP4Convertをご利用になる際は、お客様の責任においてご利用くださいますようお願いいたします。

 

要件

  • JRE Java 7 ※1.7.*のみ対応しています。1.8.* では利用できません。
  • Perforceサーバ(P4D) ver.2012.2以上
  • Perforceサーバに対してadmin以上の権限
  • 【推奨】64GBの物理メモリを搭載し、高速なディスク装置を接続したサーバグレードのマシン
  • 【推奨】Subversionリポジトリのサイズの4倍の空きディスク
  • Windows上で実行するIMPORTモードでは、シンボリックリンクは非サポートです。
  • CVSキーワード拡張は非サポートです。

設定・移行手順

前提

Subversion環境からのIMPORTモードでの移行を説明しています。

Perforceの操作(p4dコマンドやp4コマンドの使用方法)には言及しません。
Helix Core (Perforce) マニュアル』より必要な情報をご参照ください。

動作検証環境

弊社において、動作検証を行った環境は次のとおりです。

OS

Windows7 64 bit

Perforceサーバ

P4D/NTX64/2018.1/1683443

Subversion

version 1.10.2

P4Convert

PUBLIC.Main.15579

Java

1.7.0

・設定作業中に使用するフォルダ等

作業用フォルダC:\p4convert
移行先のPerforceサーバ環境C:\p4root\svnconvert
Perforceサーバの実行ファイル(p4d.exeおよびp4s.exe)C:\p4rootにインストールされている

1.P4Convertの設置

P4Convertは、以下からダウンロードしてください。

ダウンロード

作業用フォルダC:\p4convertを作成し、ダウンロードしたファイルをC:\p4convertに解凍します。

2.Subversion情報のバックアップ

次に示すコマンドを実行しバックアップファイルを作業用フォルダに設置します。
Subversion情報のバックアップが既に存在する場合、作業用フォルダへダンプファイル(.dmp)を設置のみ行ってください。

実行コマンド

svnadmin dump REPOS_PATH > C:\p4convert\dumpfile.dmp

REPOS_PATHは、環境に合わせて書き換えます。

3.Perforceサーバ環境準備

移行用に新しいPerforceサーバ環境を構築し、Perforceサーバを起動します。
ここでは、次のパラメータで起動する例を示します。

Windowsサービス名

Perforce_convert

P4ROOT

C:\p4root\svnconvert

P4PORT

1666

mkdir C:\p4root\svnconvert
svcinst create -n Perforce_convert -e C:\p4root\p4s.exe
p4 set -S Perforce_convert P4ROOT=C:\p4root\svnconvert
p4 set -S Perforce_convert P4PORT=1666
p4d -r C:\p4root\svnconvert -xi
svcinst start -n Perforce_convert

C:\p4root\p4s.exeは、実際のパスに書き換えます。

さらに、次に示すコマンドを実行し、タイプマップを定義します。

実行コマンド

p4 typemap

タイプマップを定義することにより、ディポに新規登録されるファイルに対して、Perforceのファイルタイプを明示的に決定できます。

設定を追加した場合、types.mapファイルにも同じ設定を追加する対応を実施ください。

4.Perforceクライアント環境準備

次に示すコマンドを実行し、移行用に新しいPerforceユーザ、ワークスペースを作成します。

実行コマンド

p4 user -f svn
p4 passwd
p4 set P4USER=svn
p4 set P4CLIENT=svn_ws
p4 login (パスワードを入力します) 
p4 client

(編集内容) 
Root: C:\svn_ws
Options: allwrite clobber nocompress unlocked nomodtime rmdir

p4 passwdコマンドによるパスワードの設定は任意です。
パスワードを設定した場合、p4 login実行時にそのパスワードを入力します。
Perforce環境変数P4CONFIGを設定している場合は、p4 set P4USER=svnを実行する代わりに、P4CONFIGファイルの設定を変更するか、もしくはグローバルオプションで接続先ポートを変更します。

5.P4Convertの設定

次に示すコマンドを実行し、Subversion用の設定ファイル(default.cfg)を生成します。

実行コマンド

cd C:\p4convert
java -jar p4convert.jar --type=SVN --default

テキストエディタを使用して、default.cfgの内容を以下のとおり編集します。

default.cfgで設定する項目一覧

項目

設定値

説明

com.p4convert.svn.dumpFile

dumpfile.dmp

移行するSubversion情報のバックアップファイルです。

com.p4convert.p4.charset

utf8

日本語環境で使用する場合は「utf8」を設定します。

com.p4convert.p4.client

svn_ws

手順4で「P4CLIENT」に設定した値を設定します。
com.p4convert.p4.clientRootC:\\svn_ws\\手順4で「p4 client」で「Root」に設定した値を設定します。

com.p4convert.p4.depotPath

depot

インポート先のデポです。
com.p4convert.p4.passwd手順4の「p4 passwd」で設定した場合はその値を設定します。

com.p4convert.p4.port

localhost:1666

手順3で「P4PORT」に設定した値を設定します。
com.p4convert.p4.rootC:\\p4root\svnconvert\\手順3で「P4ROOT」に設定した値を設定します。
com.p4convert.p4.subPath/

任意のサブパスをデポの下に指定します。

サブパスの末尾は必ずスラッシュ( / )にする必要があるためサブパス使用しない場合は、「/」を設定します。

例)「com.p4convert.core.subPath = sub /」 を設定した場合「// depot/ sub / ...」となります。

com.p4convert.p4.unicode

true

日本語環境で使用する場合は「true」を設定します。

com.p4convert.p4.user

svn

手順4でP4USERに設定した値を設定します。

6.P4Convertの実行

環境に合わせて次に示すコマンドを実行します。

実行コマンド

cd C:\p4convert

▼ linux の場合
java -jar -Dfile.encoding=UTF-8 p4convert.jar --config=default.cfg

▼ windows の場

java -jar -Dfile.encoding=Shift_JIS p4convert.jar --config=default.cfg

エラーが出力されずにコマンド実行が終了しましたら、移行処理は完了です。

7移行結果の検証

移行先のPerforceサーバに接続し、Subversionのリビジョンデータやコミットログが期待どおりに移行できているかを確認します。

 

トラブルシューティング

・SSL が有効化されている P4PORT への接続について

Java 起動オプションで -DsecureSocketEnabledProtocols=TLSv1.2 を指定することでエラーを回避します。

・移行元 Subversion のバックアップファイル(dmp)サイズが大きい場合

Subversion のバックアップをリビジョンで分割して取得し IMPORT モードで移行を実施ください。

 

読み込み中
P4Convert 利用手順