Wiki
既存プロジェクトをアップロードする
すでにディスク上にある Unreal プロジェクトを uVersion 管理下に置きます。フォルダをその場で初期化し、除外設定を確認し、Pending タブからチェックインします。初回アップロードの落とし穴も併せて解説します。
ディスク上に Unreal プロジェクトがあり、それを uVersion 管理下に置きたい場合です。 このページはまさにそのケースを扱います。ファイルは移動しません。 フォルダはその場でサーバーに接続され、そのままアップロードされます。
逆に、サーバー上にすでに作成した空のリポジトリから始めるなら、必要なのは クローンであって、このページではありません。
始める前に
宣言しようとしているフォルダが、リポジトリの意図したルートで
あることも確認してください。.uproject ファイルはそのルートの最大三階層下に
なければなりません。そうでないと、クライアントはそのプロジェクトを Unreal プロジェクトとして
認識せず、Unreal パネルは表示されないままになります。
フォルダを初期化する
1. Open Repository ウィンドウを開く
サイドバーで Workspace を開き、Open Repository (またはタブバーの「+」)をクリックします。開くウィンドウはまず既存リポジトリの クローン用です。ここで求めているものではありません。いちばん下までスクロールし、 リポジトリ一覧と Open Local Repository... の下にある New Repository from a Project Folder... をクリックします。
admin ロールにしか
表示されません。リポジトリを作成するを参照してください。
2. プロジェクトのルートを選ぶ
Select your project folder to create a new repository という
フォルダ選択画面が開きます。プロジェクトのルート、つまり .uproject を
含むフォルダ、またはそれを含むフォルダを選びます。コピーも移動もされません。
このフォルダは現在の場所にとどまります。
3. リポジトリに名前を付けて作成する
フォームは新しいダイアログボックスではなく、いまクリックしたボタンの場所、 ウィンドウ内そのものに表示されます。選んだパスを再表示し、 フォルダ名であらかじめ入力された Repository name 欄を提供します。 必要なら調整してから Create & Open をクリックします。名前が空の間は ボタンは無効のままで、この名前はサーバー全体で一意でなければなりません。
このときクライアントは四つのことを行い、それ以外は何もしません。
- サーバー上にリポジトリを作成します。
-
プロジェクト内に
.uversion/フォルダを書き込みます。ここには リポジトリ、サーバーのアドレス、そしてワークスペースの所有者アカウントが記録されます。 -
.uversionignoreファイルを書き込みます。すでに存在する場合は 書き込みません。 - 何もダウンロードせず、あなたのファイルには一切触れません。
除外設定を確認する
いまがちょうどよいタイミングで、後からよりもずっと簡単です。ルートにある
.uversionignore ファイルを開いてください。決してアップロードされない
ものが列挙されています。デフォルトのテンプレートは、Unreal プロジェクトが自分で
再生成するもの、とりわけ Binaries/、Build/、
DerivedDataCache/、Intermediate/、
Saved/、Packages/、そして開発環境のプロジェクトファイルを
すでに除外しています。
変更できないルールが二つあり、知っておくとよいでしょう。
-
Plugins/uVersionは常に除外されます。Unreal プラグインはバージョン管理されることがありません。各マシンは自分の エンジンに対応するバージョンを、デスクトップクライアント経由でインストールします。 リポジトリに存在しないのは正常です。 -
正確に
ThirdPartyという名前のフォルダを含むパスは、どんなルールを 書いても決して除外されません。したがってサードパーティの ライブラリは常にアップロードされます。
Packages/ は除外されているため、パッケージ化されたビルドが
リポジトリに入ることはありません。ビルドはバージョン管理ではなく、ビルド公開機能で
配布されます。
アップロードする
4. Files タブで状態を確認する
プロジェクト全体が untracked の状態で表示されます。手元にはあるが、 まだサーバーにはない状態です。初期化されたばかりのフォルダの正常な状態です。 ツリー上部のカウントバッジも同じこと(N local only)を要約し、 Rev 列はどこも v0 を示し、Pending タブにはすでに同じ数のバッジが付いています。クライアントが自分でファイルを 見つけているので、手で「追加」するものは何もありません。
5. Pending タブを開く
すべてのファイルはすでにそこにあり、add と印が付き、
Default チェンジリストに整理されています。左の列はアップロードされる
ものの階層を、右のパネルは行ごとの Diff と Remove
を伴うフラットな一覧を示します。ここで取り除くのは、決してバージョン管理したくない
ものだけにしてください。「このフォルダはここにあるべきではない」への正しい答えは
.uversionignore のルールであって、一行ずつの Remove ではありません。
6. 説明を書き、Checkin all
Describe your changes... にメッセージを書きます。これは必須で、 欄が空の間は Checkin all ボタンは無効のままです。 「プロジェクトの初回アップロード」で十分です。それから Checkin all (N) をクリックします。
その後アップロードは自動的に進み、ヘッダーバーにいくつかのフェーズが表示されます。 分割、サーバーがすでに持っているものの確認、転送、そして検証です。 その間はタブを切り替えても構いません。進捗は追従します。 中断された転送は、すべてをやり直すのではなく、途中から再開します。最後に、 アップロードされたファイルは読み取り専用になります。これはサーバー上にあること、 そして変更するには予約が必要であることの印です。
初回アップロードの落とし穴
Files の中にアップロードボタンを探している
そこにはありません。Files タブは状態を表示し、単発の操作に使います。 アップロードは Pending タブから行い、そこにはすべての未追跡 または変更済みファイルがひとりでに表示されます。Pending にバッジが表示されていれば、 アップロードするものがあるということです。
「Failed to acquire locks for N file(s)」
一つ以上のファイルがすでに他の誰かに予約されており、関係するファイルだけでなく アップロード全体がキャンセルされます。保留中の予約タブを見て 誰が保持しているかを確認し、その人に解放を頼んでください。
選んだファイルが削除として送られてしまった
アップロードされたのに転送時点でディスク上に存在しないパスは、削除として解釈されます。 これは、選択とアップロードの間にファイルを移動または名前変更した場合に起こります。 操作中はフォルダ内で作業しないようにしてください。
「This folder is already a uVersion repository」
フォルダにはすでに .uversion/ が含まれています。作り直す代わりに
Open Local Repository... を使ってください。
フォルダが拒否される
クライアントは特定の場所を意図的に拒否します。ディスクのルート、システムフォルダ、 自動起動フォルダ、または相対パスです。通常の作業フォルダを選んでください。