uVersion
日本語
ダウンロード →

Wiki

配布

パスパターンごとに、ソースリポジトリからターゲットリポジトリへファイル(プラグイン、共有コンテンツ)をコピーします。公開、リマッピング、ロックはスキップ。

はじめに

配布は、パスパターンに限定して、ソースリポジトリから ターゲットリポジトリへファイル(プラグイン、共有コンテンツパック)をコピーします。 ターゲットに新しいリビジョンを作成するため、通常の増分同期がコンテンツをクライアントへ伝播します。 これは、手作業のコピー&ペーストなしで、同じプラグインを複数のプロジェクト間で共有する手段です。

アクセスとロール

他のタブとは異なるアクセスモデル 配布は他のタブと同じようには制御されませんmanage_rules ケイパビリティが必要で、これはサーバー全体にわたって adminlead が保有します。ケイパビリティを一切保有しない project_admin は、アクセス できません。一方 lead は、任意のリポジトリを別の任意のリポジトリに接続できます。

リンクを作成する

New Link フォーム:Source Repository、Target Repository、および Path Patterns 欄。
  1. Distribution タブ → New Link
  2. Source Repository:ファイルの取得元となるリポジトリ。
  3. Target Repository:宛先リポジトリ(選択したソースはリストから除外されます。ソースと ターゲットを同一にすることはできません)。
  4. Path Patterns:1 行につき 1 パターン(例:Plugins/MyPlugin/Content/SharedAssets/)。少なくとも 1 つが必要です。
  5. Create Link で確定します。

同じ 2 つのリポジトリ間にすでに存在するリンクは拒否されます(競合)。各行には source → cible、そのパターン、作成者、そして最終公開日が表示されます。

パスパターン

パターンは、パスのどこかに現れればそのパスにマッチします(「含む」型の検索)。 したがって Plugins/uVersion パターンは、プロジェクトの接頭辞に関わらず DefaultProject/Plugins/uVersion/Source/Foo.cpp にマッチします。末尾のスラッシュは何も変えません。

公開する

保留中ファイルの一覧(new/modified/locked)と公開結果の要約バナー。

各リンクに対して 3 つのアクションがあります:

  • Show pending files(ファイルアイコン):差分のあるファイルを、 newmodifiedlocked の印とそのリビジョンとともに一覧表示します。
  • Publish history(時計):直近 50 件の公開(更新/スキップ件数、実行者、日時)。
  • Publish(送信):コピーを実行します。バナーに「ソースファイル X 件検出、Y 件更新、Z 件 スキップ(ロック済み)、W 件変更なし」と要約されます。リンクが無効な場合は無効化されます。

ターゲット内でロックされたファイルはスキップされ、上書きされません。内容が 同一(同じハッシュ)のファイルは変更なしとして数えられ、スキップされます。公開はアトミックです (単一のトランザクション)。

リンクを有効化/無効化したり、削除したりすることもできます。

リマッピングとリビジョン

パスはターゲット向けに書き換えられます:uVersion はマッチしたパターンより前の部分を取り除き、 次にターゲット上で検出された接頭辞を付加します。例:ソース DefaultProject/Plugins/uVersion/foo.cpp、パターン Plugins/uVersion、ターゲット接頭辞 CineDroneStudio/CineDroneStudio/Plugins/uVersion/foo.cpp。ターゲット接頭辞は ターゲット内の既存ファイルから推定されます(プロジェクトサブフォルダの有無にかかわらず対応)。

リビジョン番号 配布されたリビジョンは、増分同期が取得できるように、ターゲットの現在のリビジョンより上のグローバルカウンターを 使用します。そのためファイルごとの履歴が「飛ぶ」ことがあります(例:rev 1 の次が rev 200)が、これは見た目上の ものです。チャンクは共有されます(データの重複はなく、単なる参照の増分)。

よくある落とし穴

「Publish」がグレーアウトしている

リンクが無効です。まず有効化してください。無効なリンクを公開すると明示的なエラーが返されます。

ターゲットでファイルが更新されない

ターゲット側でロックされているか(その場合はスキップされ「locked」として数えられます)、内容がすでに同一である か(「unchanged」として数えられます)のいずれかです。公開の要約と pending files の一覧を確認してください。

project_admin がタブを見られない

これは意図的です:配布には manage_rules(admin または lead)が必要です。project_admin は、たとえ 自分自身のリポジトリであってもアクセスできません。