private static void LoadNewHashes(MainWindowViewModel vm, Octokit.GitHubCommit latestCommit) { using (var updateHashes = Operation.Begin("Updating hashes")) { if (!HashLabels.TryLoadHashes(HashLabelUpdater.HashesPath)) { Log.Logger.Error("Failed to open hashes file {@path}", HashLabelUpdater.HashesPath); updateHashes.Cancel(); } Models.ApplicationSettings.Instance.CurrentHashesCommitSha = latestCommit.Sha; updateHashes.Complete(); } }
public static string GenerateCommiterName(this Octokit.GitHubCommit x) { if (x.Commit.Author != null && !string.IsNullOrEmpty(x.Commit.Author.Name)) { return(x.Commit.Author.Name); } if (x.Commit.Committer != null && !string.IsNullOrEmpty(x.Commit.Committer.Name)) { return(x.Commit.Committer.Name); } if (x.Author != null) { return(x.Author.Login); } return(x.Committer != null ? x.Committer.Login : "******"); }
public static string GenerateGravatarUrl(this Octokit.GitHubCommit x) { if (x.Author != null && !string.IsNullOrEmpty(x.Author.AvatarUrl)) { return(x.Author.AvatarUrl); } try { var inputBytes = Encoding.UTF8.GetBytes(x.Commit.Author.Email.Trim().ToLower()); var hash = MD5.Create().ComputeHash(inputBytes); var sb = new StringBuilder(); for (int i = 0; i < hash.Length; i++) { sb.Append(hash[i].ToString("x2")); } return(string.Format("http://www.gravatar.com/avatar/{0}?d={1}", sb, GitHubDefaultGravitar)); } catch { return(null); } }
public CommitNode(Octokit.GitHubCommit githubCommit) { IsRoot = true; GitHubCommit = githubCommit; }