Provider.Resolve
Declaration
public static VersionControl.Task Resolve(VersionControl.AssetList assets, VersionControl.ResolveMethod resolveMethod);Параметры
| Параметр | Описание |
|---|---|
| ассетов | Перечень ассетов, подлежащих урегулированию. |
| 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.