/// <summary> /// Returns a list of text files in the repository. /// </summary> /// <returns>List of text files in the repository.</returns> private IEnumerable <string> GetTextFilesFromRepository() { this.Log.Verbose("Reading all text files from repository '{0}'...", this.Settings.RepositoryRoot); var settings = new GitRunnerSettings { WorkingDirectory = this.Settings.RepositoryRoot, }; settings.Arguments.Clear(); settings.Arguments.Add("grep -Il ."); var textFiles = this.runner.RunCommand(settings); if (textFiles == null) { throw new Exception("Error reading text files from repository"); } this.Log.Verbose("Found {0} text file(s)", textFiles.Count()); return(textFiles); }
/// <summary> /// Returns a list of files tracked by Git LFS. /// </summary> /// <returns>List of files tracked by Git LFS.</returns> private IEnumerable <string> GetLfsTrackedFilesFromRepository() { this.Log.Verbose("Reading all LFS tracked files from repository '{0}'...", this.Settings.RepositoryRoot); var settings = new GitRunnerSettings { WorkingDirectory = this.Settings.RepositoryRoot, }; settings.Arguments.Clear(); settings.Arguments.Add("lfs ls-files -n"); var lfsTrackedFiles = this.runner.RunCommand(settings); if (lfsTrackedFiles == null) { throw new Exception("Error reading LFS tracked files from repository"); } this.Log.Verbose("Found {0} LFS tracked file(s)", lfsTrackedFiles.Count()); return(lfsTrackedFiles); }
/// <summary> /// Returns a list of the files in the repository. /// </summary> /// <returns>List of files in the repository.</returns> private IEnumerable <string> GetAllFilesFromRepository() { this.Log.Verbose("Reading all files from repository '{0}'...", this.Settings.RepositoryRoot); var settings = new GitRunnerSettings { WorkingDirectory = this.Settings.RepositoryRoot, }; settings.Arguments.Clear(); settings.Arguments.Add("ls-files -z"); var allFiles = string.Join(string.Empty, this.runner.RunCommand(settings)).Split('\0').Where(x => !string.IsNullOrEmpty(x)); if (allFiles == null) { throw new Exception("Error reading files from repository"); } this.Log.Verbose("Found {0} file(s)", allFiles.Count()); return(allFiles); }