uVersion
日本語
ダウンロード →

Wiki

既存プロジェクトをアップロードする

すでにディスク上にある Unreal プロジェクトを uVersion 管理下に置きます。フォルダをその場で初期化し、除外設定を確認し、Pending タブからチェックインします。初回アップロードの落とし穴も併せて解説します。

ディスク上に Unreal プロジェクトがあり、それを uVersion 管理下に置きたい場合です。 このページはまさにそのケースを扱います。ファイルは移動しません。 フォルダはその場でサーバーに接続され、そのままアップロードされます。

逆に、サーバー上にすでに作成した空のリポジトリから始めるなら、必要なのは クローンであって、このページではありません。

始める前に

Unreal エディタを閉じてください アップロードが終わると、アップロードされたファイルはディスク上で読み取り専用に戻ります。 ところが uVersion プラグインは、エディタを開くと、書き込み可能なまま残っているすべての アセットを自動的に予約します。操作中にエディタが開いていると、アップロードしたばかりの ものに対してただちに再びロックを取得してしまいます。ロックは自然に期限切れになることが ないため、気づかないままロックを保持し続けることになります。

宣言しようとしているフォルダが、リポジトリの意図したルートで あることも確認してください。.uproject ファイルはそのルートの最大三階層下に なければなりません。そうでないと、クライアントはそのプロジェクトを Unreal プロジェクトとして 認識せず、Unreal パネルは表示されないままになります。

フォルダを初期化する

1. Open Repository ウィンドウを開く

サイドバーで Workspace を開き、Open Repository (またはタブバーの「+」)をクリックします。開くウィンドウはまず既存リポジトリの クローン用です。ここで求めているものではありません。いちばん下までスクロールし、 リポジトリ一覧と Open Local Repository... の下にある New Repository from a Project Folder... をクリックします。

このボタンが見えませんか? このボタンはサーバー上にリポジトリを作成するため、admin ロールにしか 表示されません。リポジトリを作成するを参照してください。
Open Repository ウィンドウの下部:Download files after clone チェックボックス、Open Local Repository ボタン、その下の New Repository from a Project Folder ボタン。

2. プロジェクトのルートを選ぶ

Select your project folder to create a new repository という フォルダ選択画面が開きます。プロジェクトのルート、つまり .uproject を 含むフォルダ、またはそれを含むフォルダを選びます。コピーも移動もされません。 このフォルダは現在の場所にとどまります。

3. リポジトリに名前を付けて作成する

フォームは新しいダイアログボックスではなく、いまクリックしたボタンの場所、 ウィンドウ内そのものに表示されます。選んだパスを再表示し、 フォルダ名であらかじめ入力された Repository name 欄を提供します。 必要なら調整してから Create & Open をクリックします。名前が空の間は ボタンは無効のままで、この名前はサーバー全体で一意でなければなりません。

Open Repository ウィンドウ内のその場の作成フォーム:選んだフォルダのパスが一行、フォルダ名で事前入力された Repository name 欄、Create and Open ボタンと Cancel ボタン。

このときクライアントは四つのことを行い、それ以外は何もしません。

  • サーバー上にリポジトリを作成します。
  • プロジェクト内に .uversion/ フォルダを書き込みます。ここには リポジトリ、サーバーのアドレス、そしてワークスペースの所有者アカウントが記録されます。
  • .uversionignore ファイルを書き込みます。すでに存在する場合は 書き込みません
  • 何もダウンロードせず、あなたのファイルには一切触れません。
このフォルダはあなたのものになります フォルダを初期化したアカウントがその所有者となり、このフォルダ内でコマンドラインが 以後動作するのはこの ID のもとです。同僚はあなたのフォルダをコピーしてはいけません。 自分の側でリポジトリをクローンする必要があります。さもないと This workspace belongs to ... というメッセージが表示されます。

除外設定を確認する

いまがちょうどよいタイミングで、後からよりもずっと簡単です。ルートにある .uversionignore ファイルを開いてください。決してアップロードされない ものが列挙されています。デフォルトのテンプレートは、Unreal プロジェクトが自分で 再生成するもの、とりわけ Binaries/Build/DerivedDataCache/Intermediate/Saved/Packages/、そして開発環境のプロジェクトファイルを すでに除外しています。

変更できないルールが二つあり、知っておくとよいでしょう。

  • Plugins/uVersion常に除外されます。Unreal プラグインはバージョン管理されることがありません。各マシンは自分の エンジンに対応するバージョンを、デスクトップクライアント経由でインストールします。 リポジトリに存在しないのは正常です。
  • 正確に ThirdParty という名前のフォルダを含むパスは、どんなルールを 書いても決して除外されません。したがってサードパーティの ライブラリは常にアップロードされます。

Packages/ は除外されているため、パッケージ化されたビルドが リポジトリに入ることはありません。ビルドはバージョン管理ではなく、ビルド公開機能で 配布されます。

アップロードする

4. Files タブで状態を確認する

プロジェクト全体が untracked の状態で表示されます。手元にはあるが、 まだサーバーにはない状態です。初期化されたばかりのフォルダの正常な状態です。 ツリー上部のカウントバッジも同じこと(N local only)を要約し、 Rev 列はどこも v0 を示し、Pending タブにはすでに同じ数のバッジが付いています。クライアントが自分でファイルを 見つけているので、手で「追加」するものは何もありません。

初期化直後の Files タブ:ツリー上部の N local only バッジ、各行の untracked 状態、v0 の Rev 列、そして Pending タブの同じ数のバッジ。

5. Pending タブを開く

すべてのファイルはすでにそこにあり、add と印が付き、 Default チェンジリストに整理されています。左の列はアップロードされる ものの階層を、右のパネルは行ごとの DiffRemove を伴うフラットな一覧を示します。ここで取り除くのは、決してバージョン管理したくない ものだけにしてください。「このフォルダはここにあるべきではない」への正しい答えは .uversionignore のルールであって、一行ずつの Remove ではありません。

初回アップロード時の Pending タブ:左にファイルの階層、右に各ファイルが add と印された Default チェンジリスト、行ごとの Diff と Remove ボタン、Describe your changes 欄、そして Checkin all ボタン。

6. 説明を書き、Checkin all

Describe your changes... にメッセージを書きます。これは必須で、 欄が空の間は Checkin all ボタンは無効のままです。 「プロジェクトの初回アップロード」で十分です。それから Checkin all (N) をクリックします。

Default チェンジリストのパネル:初回アップロードのメッセージが入力された Describe your changes 欄、ファイル数付きで有効になった Checkin all ボタン。
アップロードはあなたのために予約します チェックインはアップロードするファイルのロックを自ら取得し、リビジョンが検証された あとに解放します。初回アップロードでは影響はありません。あなたはそれらのファイルに 一人だけです。すでに共有されているリポジトリでは、他の誰かに予約されたファイルが あるとアップロードは失敗します。下の落とし穴を参照してください。

その後アップロードは自動的に進み、ヘッダーバーにいくつかのフェーズが表示されます。 分割、サーバーがすでに持っているものの確認、転送、そして検証です。 その間はタブを切り替えても構いません。進捗は追従します。 中断された転送は、すべてをやり直すのではなく、途中から再開します。最後に、 アップロードされたファイルは読み取り専用になります。これはサーバー上にあること、 そして変更するには予約が必要であることの印です。

初回アップロードの落とし穴

Files の中にアップロードボタンを探している

そこにはありません。Files タブは状態を表示し、単発の操作に使います。 アップロードは Pending タブから行い、そこにはすべての未追跡 または変更済みファイルがひとりでに表示されます。Pending にバッジが表示されていれば、 アップロードするものがあるということです。

「Failed to acquire locks for N file(s)」

一つ以上のファイルがすでに他の誰かに予約されており、関係するファイルだけでなく アップロード全体がキャンセルされます。保留中の予約タブを見て 誰が保持しているかを確認し、その人に解放を頼んでください。

選んだファイルが削除として送られてしまった

アップロードされたのに転送時点でディスク上に存在しないパスは、削除として解釈されます。 これは、選択とアップロードの間にファイルを移動または名前変更した場合に起こります。 操作中はフォルダ内で作業しないようにしてください。

「This folder is already a uVersion repository」

フォルダにはすでに .uversion/ が含まれています。作り直す代わりに Open Local Repository... を使ってください。

フォルダが拒否される

クライアントは特定の場所を意図的に拒否します。ディスクのルート、システムフォルダ、 自動起動フォルダ、または相対パスです。通常の作業フォルダを選んでください。

次に