此类提供对版本控制 API 的访问。
请注意,版本控制窗口会在每个版本控制操作之后刷新。这意味着,在多个资源中循环并对每个资源执行单独操作(例如签出)的速度慢于传递包含所有资源的 AssetList 并对它执行一次版本控制操作。
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(); } }
另请注意,提供程序操作仅执行 VCS 命令,而不自动刷新版本控制窗口。若要更新此窗口,请使用 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 | 返回版本控制提供程序的在线状态。 |
preCheckoutCallback | 在版本控制签出操作之前要调用的用户提供的回调。 |
preSubmitCallback | 在版本控制提交操作之前要调用的用户提供的回调。 |
requiresNetwork | 如果当前选择的版本控制插件执行任何操作时需要网络连接,则为 true。 |
Add | 向版本控制添加资源或资源列表。 |
AddIsValid | 给定资源列表,如果 Add 是要执行的有效任务,则此函数返回 true。 |
ChangeSetDescription | 给定仅包含变更集 ID 的变更集,此方法将启动用于查询变更集相关描述的任务。 |
ChangeSetMove | 将资源或资源列表从其当前的变更集移动到新的变更集。 |
ChangeSets | 获取当前用户所拥有的待处理变更集列表。 |
ChangeSetStatus | 检索属于变更集的资源列表。 |
Checkout | 从版本控制系统中签出资源或资源列表。 |
CheckoutIsValid | 给定资源或资源列表,如果 Checkout 是要执行的有效任务,则此函数返回 true。 |
ClearCache | 此方法将使所有资源的缓存状态信息无效。 |
Delete | 此方法将启动一个任务,用于从磁盘和版本控制系统中删除一个或多个资源。 |
DeleteChangeSets | 启动要尝试删除给定变更集的任务。 |
DeleteChangeSetsIsValid | 测试删除变更集是否是要执行的有效任务。 |
DiffHead | 启动一个任务,用于显示给定资源与其最新版本之间的差异。 |
DiffIsValid | 如果启动 Diff 任务是有效操作,则返回 true。 |
GetActiveConfigFields | 返回当前活动版本控制插件的配置字段。 |
GetActivePlugin | 获取当前用户所选的版本控制插件。 |
GetAssetByGUID | 返回有关资源的版本控制信息。 |
GetAssetByPath | 返回有关资源的版本控制信息。 |
GetAssetListFromSelection | 返回有关当前所选资源的版本控制信息。 |
GetLatest | 启动一个任务,用于从版本控制服务器获取资源的最新版本。 |
GetLatestIsValid | 如果获取资源的最新版本是有效操作,则返回 true。 |
Incoming | 启动一个任务,用于在版本控制服务器中查询是否有传入的更改。 |
IncomingChangeSetAssets | 给定传入的变更集,此方法将启动一个任务,用于在版本控制服务器中查询其资源是否属于变更集的一部分。 |
IsOpenForEdit | 如果资源可以进行编辑,则返回 true。 |
Lock | 尝试锁定资源,以便以独占方式编辑资源。 |
LockIsValid | 如果任务可以执行,则返回 true。 |
Merge | 此方法将启动一个合并任务,用于处理冲突资源的合并。 |
Move | 使用版本控制插件将资源从一个路径移动到另一个路径。 |
Resolve | 启动一个任务,用于解决版本控制中的冲突资源问题。 |
ResolveIsValid | 测试列表中所有资源的冲突问题是否都可以解决。 |
Revert | 通过取消自上次同步之后所做的所有更改,还原指定的资源。 |
RevertIsValid | 如果 Revert 是要执行的有效任务,则返回 true。 |
Status | 启动一个任务,用于从版本控制系统获取最新状态。 |
Submit | 启动一个任务,用于将资源提交到版本控制。 |
SubmitIsValid | 如果提交资源是有效操作,则返回 true。 |
UnlockIsValid | 如果锁定资源是有效操作,则返回 true。 |
UpdateSettings | 启动一个任务,用于将版本控制设置发送到版本控制系统。 |
PreCheckoutCallback | 在版本控制签出之前要调用的用户提供的回调的委托。 |
PreSubmitCallback | 在版本控制提交之前要调用的用户提供的回调的委托。 |