public GitLFSSettingsTab(GitManager gitManager, GitSettingsWindow settingsWindow, GitLfsManager lfsManager, InjectionHelper injectionHelper, UniGitData data, GitSettingsJson gitSettings, GitCallbacks gitCallbacks, GitInitializer initializer) : base(new GUIContent("LFS", "Git Large File Storage (beta)"), gitManager, settingsWindow, data, gitSettings, gitCallbacks, initializer) { this.injectionHelper = injectionHelper; this.lfsManager = lfsManager; }
public GitGeneralSettingsTab(GitManager gitManager, GitSettingsWindow settingsWindow, GitLfsManager lfsManager, UniGitData data, GitSettingsJson gitSettings, GitCallbacks gitCallbacks, GitInitializer initializer, GitSettingsManager settingsManager, UniGitPaths paths) : base(new GUIContent("General"), gitManager, settingsWindow, data, gitSettings, gitCallbacks, initializer) { this.paths = paths; this.lfsManager = lfsManager; this.settingsManager = settingsManager; }
public override bool OnPrePush(IEnumerable <PushUpdate> updates) { if (!GitLfsManager.Installed || !GitLfsManager.CheckInitialized()) { return(true); } using (var process = new Process()) { process.StartInfo.FileName = "git-lfs"; process.StartInfo.Arguments = "pre-push origin"; process.StartInfo.WorkingDirectory = GitManager.RepoPath; process.StartInfo.CreateNoWindow = false; process.StartInfo.UseShellExecute = false; process.StartInfo.RedirectStandardInput = true; process.StartInfo.RedirectStandardOutput = true; process.StartInfo.RedirectStandardError = true; process.Start(); foreach (var update in updates) { string value = string.Format("{0} {1} {2} {3}\n", update.SourceRefName, update.SourceObjectId.Sha, update.DestinationRefName, update.DestinationObjectId.Sha); process.StandardInput.Write(value); UnityEngine.Debug.Log(value); } process.StandardInput.Write("\0"); process.StandardInput.Flush(); process.StandardInput.Close(); process.WaitForExit(); string output = process.StandardOutput.ReadToEnd(); string outputErr = process.StandardError.ReadToEnd(); if (!string.IsNullOrEmpty(output)) { Console.WriteLine("git-lfs pre-push results: " + output); } if (!string.IsNullOrEmpty(outputErr)) { UnityEngine.Debug.Log("git-lfs pre-push error results: " + outputErr); return(false); } } return(true); }
public GitLfsPrePushHook(GitManager gitManager, GitLfsManager lfsManager) : base(gitManager) { this.lfsManager = lfsManager; }
public GitLFSSettingsTab(GitManager gitManager, GitSettingsWindow settingsWindow, GitLfsManager lfsManager) : base(new GUIContent("LFS", "Git Large File Storage (beta)"), gitManager, settingsWindow) { this.lfsManager = lfsManager; }
public GitLfsFilter(string name, IEnumerable <FilterAttributeEntry> attributes, GitLfsManager lfsManager, GitManager gitManager, ILogger logger) : base(name, attributes) { this.gitManager = gitManager; this.lfsManager = lfsManager; this.logger = logger; }
public GitGeneralSettingsTab(GitManager gitManager, GitSettingsWindow settingsWindow, GitLfsManager lfsManager) : base(new GUIContent("General"), gitManager, settingsWindow) { this.lfsManager = lfsManager; }
internal override void OnGUI(Rect rect, 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/"); } } else { if (!GitLfsManager.CheckInitialized()) { EditorGUILayout.HelpBox("Git LFS not Initialized", MessageType.Info); if (GUILayout.Button(GitGUI.GetTempContent("Initialize"))) { GitLfsManager.Initialize(); } } else { 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); } GitGUI.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(settingsWindow)); } if (current.type == EventType.Repaint) { trackFileRect = GUILayoutUtility.GetLastRect(); } } } EditorGUILayout.HelpBox("Git LFS is still in development, and is recommended to use an external program for handling it.", MessageType.Info); }