private void OnWizardCreate() { try { using (var repository = new Repository(gitManager.GetCurrentRepoPath())) { if (branchNames.Length > 0 && selectedBranch < branchNames.Length) { repository.Network.Push(repository.Branches[branchNames[selectedBranch]], pushOptions); gitManager.MarkDirty(); var window = UniGitLoader.FindWindow <GitHistoryWindow>(); if (window != null) { window.ShowNotification(new GUIContent("Push Complete")); } } else { logger.Log(LogType.Warning, "No Branch Selected."); } } } catch (Exception e) { if (e is NonFastForwardException) { GUIContent content = GitGUI.IconContent("console.warnicon", "Could not push changes to remote. Merge changes with remote before pushing."); if (focusedWindow != null) { focusedWindow.ShowNotification(content); } else { GitGUI.ShowNotificationOnWindow <GitHistoryWindow>(content, false); } } logger.LogException(e); } finally { EditorUtility.ClearProgressBar(); } }
private void Revert(string[] localPaths) { if (externalManager.TakeRevert(localPaths.Select(p => gitManager.ToProjectPath(p)))) { gitCallbacks.IssueAssetDatabaseRefresh(); gitManager.MarkDirtyAuto(localPaths); return; } try { gitManager.Repository.CheckoutPaths("HEAD", localPaths, new CheckoutOptions() { CheckoutModifiers = CheckoutModifiers.Force, OnCheckoutProgress = OnRevertProgress }); gitManager.MarkDirtyAuto(localPaths); gitCallbacks.IssueAssetDatabaseRefresh(); GitGUI.ShowNotificationOnWindow <GitDiffWindow>(new GUIContent("Revert Complete!"), false); } finally { EditorUtility.ClearProgressBar(); } }