Объявление
public static VersionControl.Task Resolve(VersionControl.AssetList assets, VersionControl.ResolveMethod resolveMethod);Параметры
assets | Список активов для решения. |
resolveMethod | Как должны быть разрешены активы. |
Описание
Запускает задачу, которая разрешает конфликтующие ресурсы в системе контроля версий.
В случае возникновения конфликтов между хранилищем и локальной версией ресурса их можно устранить, сохранив либо собственную копию, либо входящую копию.
using System.Collections.Generic;
using UnityEditor;
using UnityEditor.VersionControl;
using UnityEngine;
public class EditorScript : MonoBehaviour
{
[MenuItem("Version Control/ResolveUseTheirs")]
public static void ExampleResolve()
{
AssetList assets = new AssetList();
assets.Add(Provider.GetAssetByPath("Assets/ExampleAsset.cs"));
Task t = Provider.Resolve(assets, ResolveMethod.UseTheirs);
t.Wait();
}
}
Приведенный выше код разрешит конфликт файла "ExampleAsset.cs", отменив локальные изменения и сохранив только входящие.
using System.Collections.Generic;
using UnityEditor;
using UnityEditor.VersionControl;
using UnityEngine;
public class EditorScript : MonoBehaviour
{
[MenuItem("Version Control/ResolveUseMerged")]
public static void ExampleResolve()
{
AssetList assets = new AssetList();
assets.Add(Provider.GetAssetByPath("Assets/ExampleAsset.cs"));
Task t1 = Provider.Merge(assets);
t1.Wait();
Task t2 = Provider.Resolve(assets, ResolveMethod.UseMerged);
t2.Wait();
}
}
Приведенный выше код показывает третий способ разрешения конфликта — объединение двух версий вместе. Правильный способ сделать это — сначала вызвать задачу Provider.Merge для конфликтующих ресурсов, а затем разрешить их с помощью Provider.Resolve с методом ResolveMethod.UseMerged.