IEnumerable <GitHubRepo> ReadRepos() { foreach (var line in File.ReadLines(_repoListFile)) { var repo = GitHubRepo.Parse(line); yield return(repo); } }
// Returns true if the repo has been renamed public GitHubRepo GetRenamedRepo(GitHubRepo repo) { string renameFile = Path.Combine(GetRepoFolder(repo.Owner, repo.Name), "rename.txt"); if (File.Exists(renameFile)) { var line = File.ReadAllLines(renameFile).First(); var ret = GitHubRepo.Parse(line); if (ret.Owner == repo.Owner && ret.Name == repo.Name) { throw new InvalidDataException($"Repo {ret.Owner}/{ret.Name} redirects to itself"); } return(ret); } else { return(null); } }