public virtual void AbortMerge() { MergeAction.inMergePhase = false; foreach (var actions in allMergeActions) { actions.UseOurs(); } ObjectDictionaries.DestroyTheirObjects(); ObjectDictionaries.Clear(); allMergeActions = null; window.ShowNotification(new GUIContent("Merge aborted.")); }
/// <summary> /// Completes the merge process after solving all conflicts. /// Cleans up the scene by deleting "their" GameObjects, clears merge related data structures, /// executes git add scene_name. /// </summary> public override void CompleteMerge() { MergeAction.inMergePhase = false; ObjectDictionaries.DestroyTheirObjects(); ObjectDictionaries.Clear(); EditorSceneManager.SaveScene(EditorSceneManager.GetActiveScene()); allMergeActions = null; vcs.MarkAsMerged(fileName); // Directly committing here might not be that smart, since there might be more conflicts window.ShowNotification(new GUIContent("Scene successfully merged.")); }