Ejemplo n.º 1
0
        private void DoLFS(Event current)
        {
            if (!GitLfsManager.Installed)
            {
                EditorGUILayout.HelpBox("Git LFS not installed", MessageType.Warning);
                if (GUILayout.Button(GitGUI.GetTempContent("Download")))
                {
                    Application.OpenURL("https://git-lfs.github.com/");
                }
                return;
            }

            if (!GitLfsManager.CheckInitialized())
            {
                EditorGUILayout.HelpBox("Git LFS not Initialized", MessageType.Info);
                if (GUILayout.Button(GitGUI.GetTempContent("Initialize")))
                {
                    GitLfsManager.Initialize();
                }
                return;
            }

            GUILayout.Label(GitGUI.GetTempContent("Settings"), "ProjectBrowserHeaderBgTop");


            string url = GitManager.Repository.Config.GetValueOrDefault("lfs.url", "");

            if (string.IsNullOrEmpty(url))
            {
                EditorGUILayout.HelpBox("You should specify a LFS server URL", MessageType.Warning);
            }

            DoConfigStringField(GitGUI.GetTempContent("URL"), "lfs.url", "");

            EditorGUILayout.Space();

            foreach (var info in GitLfsManager.TrackedInfo)
            {
                GUILayout.Label(GitGUI.GetTempContent(info.Extension), "ShurikenModuleTitle");
                GUI.SetNextControlName(info.GetHashCode() + " Extension");
                info.Extension = EditorGUILayout.DelayedTextField(GitGUI.GetTempContent("Extension"), info.Extension);
                GUI.SetNextControlName(info.GetHashCode() + " Type");
                info.Type = (GitLfsTrackedInfo.TrackType)EditorGUILayout.EnumPopup(GitGUI.GetTempContent("Type"), info.Type);

                if (info.IsDirty)
                {
                    GitLfsManager.SaveTracking();
                    break;
                }
            }

            if (GUILayout.Button("Track File"))
            {
                PopupWindow.Show(trackFileRect, new GitLfsTrackPopupWindow(this));
            }
            if (current.type == EventType.Repaint)
            {
                trackFileRect = GUILayoutUtility.GetLastRect();
            }
        }
 public override void OnGUI(Rect rect)
 {
     extension = EditorGUILayout.TextField(new GUIContent("Extension"), extension);
     GitGUI.StartEnable(!string.IsNullOrEmpty(extension));
     if (GUILayout.Button(new GUIContent("Track")))
     {
         GitLfsManager.Track(extension);
         focusWindow.Focus();
         focusWindow.ShowNotification(new GUIContent(extension + " now tracked by LFS."));
         GitLfsManager.Update();
     }
     GitGUI.EndEnable();
 }
Ejemplo n.º 3
0
        internal static void Initlize()
        {
            repoPathCached = Application.dataPath.Replace("/Assets", "").Replace("/", "\\");
            gitPathCached  = Application.dataPath.Replace("Assets", ".git");

            if (!IsValidRepo)
            {
                return;
            }

            LoadGitSettings();

            GitResourceManager.Initilize();
            GitCredentialsManager.Load();
            GitOverlay.Initlize();
            GitLfsManager.Load();
            GitHookManager.Load();
            GitExternalManager.Load();

            needsFetch                 = !EditorApplication.isPlayingOrWillChangePlaymode && !EditorApplication.isCompiling && !EditorApplication.isUpdating;
            repositoryDirty            = true;
            GitCallbacks.EditorUpdate += OnEditorUpdate;
        }
Ejemplo n.º 4
0
        private static void Rebuild(InjectionHelper injectionHelper)
        {
            var settingsManager = injectionHelper.GetInstance <GitSettingsManager>();

            settingsManager.LoadGitSettings();

            //delayed called must be used for serialized properties to be loaded
            EditorApplication.delayCall += () =>
            {
                settingsManager.LoadOldSettingsFile();
            };

            HookManager        = injectionHelper.GetInstance <GitHookManager>();
            LfsManager         = injectionHelper.GetInstance <GitLfsManager>();
            ExternalManager    = injectionHelper.GetInstance <GitExternalManager>();
            CredentialsManager = injectionHelper.GetInstance <GitCredentialsManager>();
            LfsHelper          = injectionHelper.GetInstance <GitLfsHelper>();
            AsyncManager       = injectionHelper.GetInstance <GitAsyncManager>();

            injectionHelper.GetInstance <GitAutoFetcher>();
            injectionHelper.GetInstance <GitProjectOverlay>();

            GitProjectContextMenus.Init(GitManager, ExternalManager);
        }
Ejemplo n.º 5
0
        internal static void Initlize()
        {
            repoPathCached = Application.dataPath.Replace("/Assets", "").Replace("/", "\\");

            if (!IsValidRepo)
            {
                return;
            }

            gitCredentials = EditorGUIUtility.Load("UniGit/Git-Credentials.asset") as GitCredentials;
            gitSettings    = EditorGUIUtility.Load("UniGit/Git-Settings.asset") as GitSettings;
            if (gitSettings == null)
            {
                gitSettings = ScriptableObject.CreateInstance <GitSettings>();
                AssetDatabase.CreateAsset(gitSettings, "Assets/Editor Default Resources/UniGit/Git-Settings.asset");
                AssetDatabase.SaveAssets();
            }

            if (IconStyle == null)
            {
                IconStyle = new GUIStyle
                {
                    imagePosition = ImagePosition.ImageOnly,
                    alignment     = TextAnchor.LowerLeft,
                    padding       = new RectOffset(2, 2, 2, 2)
                };
            }

            if (icons == null)
            {
                icons = new Icons()
                {
                    validIcon          = EditorGUIUtility.IconContent("UniGit/success"),
                    validIconSmall     = EditorGUIUtility.IconContent("UniGit/success_small"),
                    modifiedIcon       = EditorGUIUtility.IconContent("UniGit/error"),
                    modifiedIconSmall  = EditorGUIUtility.IconContent("UniGit/error_small"),
                    addedIcon          = EditorGUIUtility.IconContent("UniGit/add"),
                    addedIconSmall     = EditorGUIUtility.IconContent("UniGit/add_small"),
                    untrackedIcon      = EditorGUIUtility.IconContent("UniGit/info"),
                    untrackedIconSmall = EditorGUIUtility.IconContent("UniGit/info_small"),
                    ignoredIcon        = EditorGUIUtility.IconContent("UniGit/minus"),
                    ignoredIconSmall   = EditorGUIUtility.IconContent("UniGit/minus_small"),
                    conflictIcon       = EditorGUIUtility.IconContent("UniGit/warning"),
                    conflictIconSmall  = EditorGUIUtility.IconContent("UniGit/warning_small"),
                    deletedIcon        = EditorGUIUtility.IconContent("UniGit/deleted"),
                    deletedIconSmall   = EditorGUIUtility.IconContent("UniGit/deleted_small"),
                    renamedIcon        = EditorGUIUtility.IconContent("UniGit/renamed"),
                    renamedIconSmall   = EditorGUIUtility.IconContent("UniGit/renamed_small"),
                    loadingIconSmall   = EditorGUIUtility.IconContent("UniGit/loading"),
                    objectIcon         = EditorGUIUtility.IconContent("UniGit/object"),
                    objectIconSmall    = EditorGUIUtility.IconContent("UniGit/object_small"),
                    metaIcon           = EditorGUIUtility.IconContent("UniGit/meta"),
                    metaIconSmall      = EditorGUIUtility.IconContent("UniGit/meta_small")
                };
            }

            EditorApplication.projectWindowItemOnGUI += CustomIcons;

            GitLfsManager.Load();
            GitHookManager.Load();
            GitExternalManager.Load();
            GitCredentialsManager.Load();

            needsFetch                 = !EditorApplication.isPlayingOrWillChangePlaymode && !EditorApplication.isCompiling && !EditorApplication.isUpdating;
            repositoryDirty            = true;
            GitCallbacks.EditorUpdate += OnEditorUpdate;
        }
Ejemplo n.º 6
0
 public GitLfsTrackPopupWindow(EditorWindow focusWindow, GitLfsManager lfsManager)
 {
     this.focusWindow = focusWindow;
     this.lfsManager  = lfsManager;
 }
Ejemplo n.º 7
0
        internal static void Initlize()
        {
            if (!IsValidRepo)
            {
                return;
            }

            gitCredentials = EditorGUIUtility.Load("UniGit/Git-Credentials.asset") as GitCredentials;
            gitSettings    = EditorGUIUtility.LoadRequired("UniGit/Git-Settings.asset") as GitSettings;
            if (gitSettings == null)
            {
                gitSettings = ScriptableObject.CreateInstance <GitSettings>();
                AssetDatabase.CreateAsset(gitSettings, "Assets/Editor Default Resources/UniGit/Git-Settings.asset");
                AssetDatabase.SaveAssets();
            }
            repository = new Repository(RepoPath);
            Update();

            if (IconStyle == null)
            {
                IconStyle = new GUIStyle
                {
                    imagePosition = ImagePosition.ImageOnly,
                    alignment     = TextAnchor.LowerLeft,
                    padding       = new RectOffset(2, 2, 2, 2)
                };
            }

            if (icons == null)
            {
                icons = new Icons()
                {
                    validIcon          = EditorGUIUtility.IconContent("UniGit/success"),
                    validIconSmall     = EditorGUIUtility.IconContent("UniGit/success_small"),
                    modifiedIcon       = EditorGUIUtility.IconContent("UniGit/error"),
                    modifiedIconSmall  = EditorGUIUtility.IconContent("UniGit/error_small"),
                    addedIcon          = EditorGUIUtility.IconContent("UniGit/add"),
                    addedIconSmall     = EditorGUIUtility.IconContent("UniGit/add_small"),
                    untrackedIcon      = EditorGUIUtility.IconContent("UniGit/info"),
                    untrackedIconSmall = EditorGUIUtility.IconContent("UniGit/info_small"),
                    ignoredIcon        = EditorGUIUtility.IconContent("UniGit/minus"),
                    ignoredIconSmall   = EditorGUIUtility.IconContent("UniGit/minus_small"),
                    conflictIcon       = EditorGUIUtility.IconContent("UniGit/warning"),
                    conflictIconSmall  = EditorGUIUtility.IconContent("UniGit/warning_small"),
                    deletedIcon        = EditorGUIUtility.IconContent("UniGit/deleted"),
                    deletedIconSmall   = EditorGUIUtility.IconContent("UniGit/deleted_small"),
                    renamedIcon        = EditorGUIUtility.IconContent("UniGit/renamed"),
                    renamedIconSmall   = EditorGUIUtility.IconContent("UniGit/renamed_small")
                };
            }

            EditorApplication.projectWindowItemOnGUI += CustomIcons;

            GitLfsManager.Load();
            GitHookManager.Load();
            GitExternalManager.Load();
            GitCredentialsManager.Load();

            needsFetch = true;
            EditorApplication.update += OnEditorUpdate;
        }