This class provides access to the version control API.
Note that the Version Control window is refreshed after every version control operation. This means that looping through multiple assets and doing an individual operation on each (i.e. Checkout) will be slower than passing an AssetList containing all of the assets and performing a version control operation on it once.
using System.Collections.Generic; using UnityEditor; using UnityEditor.VersionControl; using UnityEngine;
public class EditorScript : MonoBehaviour { [MenuItem("VC/Checkout")] public static void TestCheckout() { AssetList assets = new AssetList(); assets.Add(new Asset("Assets/"));
Task t = Provider.Checkout(assets, CheckoutMode.Both); t.Wait(); } }
Also note that Provider operations just execute the VCS commands, and do not automatically refresh the Version Control window. To update this window, use Task.SetCompletionAction.
using System.Collections.Generic; using UnityEditor; using UnityEditor.VersionControl; using UnityEngine;
public class EditorScript : MonoBehaviour { [MenuItem("VC/ChangeSetMove")] static void ChangeSetMove() { AssetList assets = new AssetList(); assets.Add(Provider.GetAssetByPath("Assets/testMaterial.mat")); Task task = Provider.ChangeSetMove(assets, "ChangeSetID"); task.SetCompletionAction(CompletionAction.UpdatePendingWindow); } }
activeTask | 現在実行中のタスクを取得します。 |
enabled | バージョン管理プロバイダーが有効であり、有効な Unity Pro ライセンスがあった場合、 True を返します。 |
isActive | バージョン管理プラグインが選択され、正しく構成されている場合、 True を返します。 |
offlineReason | バージョン管理プロバイダーがオフラインになっている理由を返します (オフラインの場合) 。 |
onlineState | バージョン管理プロバイダーの OnlineState を返します。 |
requiresNetwork | 現在選択されているバージョン管理プラグインがなにかを実行するためにネットワーク接続が必要な場合、これは True です。 |
Add | アセットやバージョン管理するアセットのリストを追加します。 |
AddIsValid | Add は実行する有効なタスクの場合、アセットのリストが与えられ、この関数は True を返します。 |
ChangeSetDescription | チェンジセット ID のみを含むチェンジセットを与えると、チェンジセットの説明をクエリするタスクを開始します。 |
ChangeSetMove | アセットやアセットのリストを現在のチェンジセットから新しいチェンジセットに移動します。 |
ChangeSets | 現在のユーザーが所有する保留中のチェンジセットの一覧を取得します。 |
ChangeSetStatus | チェンジセットに属するアセットのリストを取得します。 |
Checkout | アセットやバージョン管理システムからのアセットのリストをチェックアウトします。 |
CheckoutIsValid | アセットやアセットのリストが与えられます。チェックアウトが実行するための有効なタスクである場合、この関数は True を返します。 |
ClearCache | すべてのアセットのキャッシュされていたステート情報は無効になります。 |
Delete | これはひとつのアセットあるいはディスクからのアセットとバージョンバージョン管理システムからのアセットの両方を削除するタスクを開始します。 |
DeleteChangeSets | 特定のチェンジセットを削除するタスクを開始します。 |
DeleteChangeSetsIsValid | チェンジセットを削除するのが実行する有効なタスクの場合、テストします。 |
DiffHead | 指定したアセットとそれらの Head リビジョンとの差分を表示するタスクを開始します。 |
DiffIsValid | True を返すと有効な操作の Diff タスクを開始します。 |
GetActiveConfigFields | 現在のアクティブなバージョン管理プラグインの Configuration フィールドを返します。 |
GetActivePlugin | 現在のユーザーが選択しているバージョン管理プラグインを取得します。 |
GetAssetByGUID | アセットに関するバージョン管理情報を返します。 |
GetAssetByPath | アセットに関するバージョン管理情報を返します。 |
GetAssetListFromSelection | 現在選択されているアセットについてバージョン管理情報を返します。 |
GetLatest | バージョン管理サーバーからアセットの最新バージョンを取得するタスクを開始します。 |
GetLatestIsValid | アセットの最新バージョンを取得する有効な操作の場合、 True を返します。 |
Incoming | Incoming Changes のためのバージョン管理サーバーのクエリのタスクを開始します。 |
IncomingChangeSetAssets | Incoming チェンジセットを与えると、アセットがチェンジセットの一部であるバージョン管理サーバーの照会を実行するタスクが開始されます。 |
IsOpenForEdit | アセットを編集できる場合、 True を返します。 |
Lock | 排他的な編集のためにアセットをロックすることを試します。 |
LockIsValid | タスクを実行できる場合は True を返します。 |
Merge | このメソッドはコンフリクトするアセットをマージ処理するマージタスクを開始します。 |
Move | バージョン管理プラグインを使用して、アセットをひとつのパスから別のに移動します。 |
Resolve | バージョン管理でコンフリクトするアセットを解決するタスクを開始します。 |
ResolveIsValid | リスト内のアセットのいずれかが解決可能かどうかをテストします。 |
Revert | 前回の同期の後に行われた変更を元に戻すことで特定のアセットを元に戻します。 |
RevertIsValid | Revert が実行する有効なタスクである場合、 True を返します。 |
Status | リビジョン管理システムから最新のステータスを取得するタスクを開始します。 |
Submit | バージョン管理するアセットを送信するタスクを開始します。 |
SubmitIsValid | アセットを送信するのが有効な操作の場合、True を返します。 |
UnlockIsValid | アセットをロックすることが有効な操作の場合、 True を返します。 |
UpdateSettings | バージョン管理システムにバージョン管理設定を送信するタスクを開始します。 |