/// <summary> /// /// </summary> /// <param name="errMsg"></param> /// <returns></returns> public bool createGitignore(List <string> foldersToIgnore, List <string> extensionsToIgnore, out string errMsg) { log.Debug(" -- createGitignore()"); GitignoreHandler gitHand = new GitignoreHandler(this.paths.steamGame, foldersToIgnore, extensionsToIgnore); gitHand.createGitignore(out errMsg); return(true); }
/// <summary> /// Helper to create the content of the .gitignore file. /// </summary> /// <returns></returns> private string buildGitignore() { // buffer string content = ""; List <string> lineList = new List <string>(); string itemTemp = ""; // -- manual section content = GitignoreHandler.addGitignoreSection(content, "Manually added files (add down below any file you want to gitignore)", false); content += "\r\n"; // -- user extensions lineList.Clear(); foreach (var item in this.ignoreExtensions) { itemTemp = ""; if (item.StartsWith(".")) { item.Substring(1); } itemTemp = "*." + item; lineList.Add(itemTemp); } content = GitignoreHandler.addGitignoreSection(content, "Default extensions", true); content = GitignoreHandler.addLines(content, lineList); // -- user folders lineList.Clear(); itemTemp = ""; foreach (var item in this.ignoreDirs) { itemTemp = GitignoreHandler.gitignoreLineFormat(item) + "/*"; lineList.Add(itemTemp); } content = GitignoreHandler.addGitignoreSection(content, "User defined folders", true); content = GitignoreHandler.addLines(content, lineList); // -- -- autogen section if (Directory.Exists(rootDir)) { string lineContent = ""; lineList.Clear(); foreach (string file in Directory.EnumerateFiles(this.rootDir, "*.*", System.IO.SearchOption.AllDirectories)) { lineContent = file.Replace(this.rootDir, "").Trim(); lineContent = GitignoreHandler.gitignoreLineFormat(lineContent); if (this.addToAutogenSection(lineContent)) { lineList.Add(lineContent); } } content = GitignoreHandler.addGitignoreSection(content, "Augo-generated by spear.exe", true); content = GitignoreHandler.addLines(content, lineList); } return(content); }