コンテンツ
サポートについての注意事項
P4Convertは、Perforce Software社が商用として販売している製品ではありません。
弊社では、P4Convertを日本語版として正式にはリリースしておりません。
これは、P4Convertについての簡単な動作検証は行っていますが、日本語OS上での日本語入出力を網羅的に検証してはいないことを意味します。
Perforce Software社も弊社も、P4Convertに関する技術的な問い合わせは承りますが、商用製品のような(即時性の高い)不具合修正には対応できない場合があることをご理解ください。
お客様がP4Convertをご利用になる際は、お客様の責任においてご利用くださいますようお願いいたします。
P4Convertについて
概要
P4Convertは、既存のSubversion環境またはCVS環境から新たなPerforce環境を構築する、Javaベースの移行ツールです。
Perforce Software社がサポートユーティリティとしてWorkshop上で公開しています。
Subversionの場合、移行するデータはダンプファイル(.dmp)から取得します。
移行にはIMPORTモード(ワークスペースを利用)とCONVERTモード(ジャーナルを利用)があります。
こちらでは、IMPORTモードでの移行を説明します。
要件
- 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を作成し、p4convert.zipの内容を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のファイルタイプを明示的に決定できます。
4.Perforceクライアント環境準備
次に示すコマンドを実行し、移行用に新しいPerforceユーザ、ワークスペースを作成します。
p4 user -f svn
p4 passwd
p4 set P4USER=svn
p4 set P4CLIENT=svn_ws
p4 login (パスワードを入力します)
p4 client
(編集内容) |
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.clientRoot | C:\\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.root | C:\\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のリビジョンデータやコミットログが期待どおりに移行できているかを確認します。