Beispiel #1
0
 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();
     }
 }
Beispiel #2
0
        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();
            }
        }