/// <summary> /// Get all the commits in a CVS log ordered by date. /// </summary> public IEnumerable<Commit> GetCommits() { var lookup = new Dictionary<string, Commit>(); using (var commitsByMessage = new CommitsByMessage(m_log)) { foreach (var revision in m_fileRevisions) { if (revision.IsAddedOnAnotherBranch) { revision.File.BranchAddedOn = GetBranchAddedOn(revision.Message); } else if (revision.CommitId.Length == 0) { commitsByMessage.Add(revision); } else { Commit commit; if (lookup.TryGetValue(revision.CommitId, out commit)) { commit.Add(revision); } else { commit = new Commit(revision.CommitId) { revision }; lookup.Add(commit.CommitId, commit); } } } return lookup.Values.Concat(commitsByMessage.Resolve()).OrderBy(c => c.Time).ToList(); } }
/// <summary> /// Get all the commits in a CVS log ordered by date. /// </summary> public IEnumerable <Commit> GetCommits() { var lookup = new Dictionary <string, Commit>(); using (var commitsByMessage = new CommitsByMessage(m_log)) { foreach (var revision in m_fileRevisions) { if (revision.IsAddedOnAnotherBranch) { revision.File.BranchAddedOn = GetBranchAddedOn(revision.Message); } else if (revision.CommitId.Length == 0) { commitsByMessage.Add(revision); } else { Commit commit; if (lookup.TryGetValue(revision.CommitId, out commit)) { commit.Add(revision); } else { commit = new Commit(revision.CommitId) { revision }; lookup.Add(commit.CommitId, commit); } } } return(lookup.Values.Concat(commitsByMessage.Resolve()).OrderBy(c => c.Time).ToList()); } }