示例#1
0
        private static void DoUpdate(object discarded)
        {
            // Check pending repositories
            for (int i = 0; i < PendingRepositories.Count; i++)
            {
                var repo = PendingRepositories[i];
                if (repo.Expiry < DateTime.Now || GitHub.GetPullRequestStatus(repo.PullRequest, repo.Origin) == "closed")
                {
                    // Delete repository
                    Console.WriteLine("Deleting " + repo.Name);
                    GitHub.DeleteRepository(repo.Name);
                    PendingRepositories.Remove(repo);
                    i--;
                }
            }
            SaveSession();
            // Check pending issues
            var issues = GitHub.GetActiveIssues(BaseRepository);
            var toFix  = issues.Where(i => i.Title.StartsWith("Fix ") && !PendingIssues.Contains(i.IssueNumber));

            if (toFix.Count() != 0)
            {
                new Thread(() => FixRepository(toFix.First())).Start();
            }
        }