ご自身でインポートを実行できない場合(Windows マシンしかない場合など)は、代わりにマネージドインポートを依頼してください。
インポート用マシンの要件
bashとcronのある Unix マシン- Docker Engine 20.10 以降と Docker Compose プラグイン 2.17 以降
- Perforce サーバー、および HTTPS で Diversion へのネットワーク接続
- 任意:
curlと AWS CLI。ない場合、スクリプトはコンテナイメージから実行します。
Diversion アプリでインポートを設定する
1
Perforce インポートページを開く
Diversion アプリで New repository をクリックし、Import from P4 を選択します。パンくずリストのリポジトリメニュー下部にある Import from Perforce を選択することもできます。

セルフホスト環境では、Import from P4 をクリックすると代わりにリクエストフォームが開き、Diversion チームがインポートを代行します。
2
インポートスクリプトをダウンロードする
Download p4_import_bootstrap.sh をクリックします。スクリプトはすべてのインポートで共通で、このページからいつでもダウンロードできます。
3
新しいリポジトリに名前を付ける
リポジトリ名は depot 名から自動入力されます。必要に応じて変更してください。
リポジトリは組織に属している必要があります。組織がまだない場合は、ここで作成できます。
4
インポート設定を入力する
各欄の意味は下のインポート設定を参照してください。

5
「Create repository and import files」をクリックする
Diversion がリポジトリ、API トークン、インポート設定を作成します。
6
local.env をダウンロードする
Download local.env をクリックします。このファイルには API トークン、リポジトリ ID、セットアップ手順が含まれています。

インポート設定
local.env を保護する
local.env には、Diversion アカウントへの管理者権限を持つ API トークンが含まれています。
パスワードと同じように扱ってください:
- インポート用マシンだけに置き、インポートを実行するユーザーだけが読めるようにします(下の手順の
chmod 600 local.env)。 - バージョン管理にコミットしたり、チャットやメールで共有したり、他のマシンにコピーしたりしないでください。
インポート用マシンでインポートを実行する
以下の手順は、インポートを実行するユーザー(Docker を使えるユーザー)で行ってください。sudo は使わないでください。root の crontab にスケジュールが登録されてしまいます。
1
両方のファイルを同じディレクトリに置く
p4_import_bootstrap.sh と local.env をインポート用マシンの同じディレクトリ(例: /opt/dv-p4-import)にコピーし、そのディレクトリに cd します。2
スクリプトを実行可能にする
3
Perforce の設定を入力する
local.env を開き、ファイル末尾の Perforce 接続情報を入力します:API_DOMAIN、API_TOKEN、REPO_ID は生成されたままにしてください。4
local.env を保護する
5
スクリプトを一度実行して設定を確認する
Remote env changed -- recreating: ... のような行が表示され、docker ps でインポートコンテナが動作していることを確認できます。
初回はイメージのダウンロードのため数分かかることがあります。6
インポートをスケジュールする
bootstrap.log に追記する crontab エントリを追加します。
実行のたびに、停止したインポートを再起動し、設定の変更を反映します。インポートの進行状況を確認する
Diversion で新しいリポジトリを開きます。インポートが完了するまで、リポジトリページに Reading history、Preparing history、Uploading files の 3 段階で進行状況が表示されます。 履歴の準備ができると、コミット、ブランチ、ファイルが表示されます。ファイルは内容のアップロード後に開けます。 大きな depot のインポートには時間がかかります。完了するまで、インポート用マシンを起動したまま接続しておいてください。インポートを停止・削除する
crontab エントリを削除するまで、インポートは動作し続けます。初回インポートの後も Perforce からの継続的なインポートや Perforce へのエクスポートが必要な場合は、crontab エントリを削除しないでください。継続的なインポート・エクスポートを有効にするにはサポートにお問い合わせください。
crontab -eを実行し、p4_import_bootstrap.shを含む行を削除します。- インポート用マシンから
local.envを削除します。
トラブルシューティング
スクリプトはエラーを出力に書き込み、スケジュール後はインポート用ディレクトリのbootstrap.log にも書き込みます。
失った local.env を復元する
local.env をダウンロードする前に Import from Perforce ページを離れてしまった場合は、新しいインポートを始めないでください。リポジトリとインポート設定は既に作成されています。代わりにファイルを作り直してください。
1
local.env を作成する
インポート用マシンで、
p4_import_bootstrap.sh と同じディレクトリに次の内容で local.env を作成します:local.env
2
REPO_ID を入力する
Diversion アプリでパンくずリストのリポジトリ名をクリックすると、組織内のリポジトリ一覧が開きます。新しいリポジトリの行にマウスを重ね、表示される Copy repo ID ボタンをクリックします。コピーした ID を 
REPO_ID に貼り付けます。
3
API_TOKEN を入力する
インポートページでトークンをコピーしていた場合は、
API_TOKEN に貼り付けます。コピーしていない場合は、新しいトークンを生成します:- 右上のアバターをクリックし、メニューから Integrations を選択します。
- Generate a new API token をクリックし、名前を入力して Generate token をクリックします。トークンがリポジトリへの管理者権限を持つよう、リポジトリを作成したユーザーでサインインした状態で生成してください。
- トークンをコピーし、
API_TOKENに貼り付けます。トークンは一度しか表示されません。

4
セットアップを続ける
インポート用マシンでインポートを実行するを最初から行ってください。

