public static IEnumerable <Commit> QueryByPath(this IQueryableCommitLog commitLog, string path, CommitFilter commitFilter)
        {
            if (string.IsNullOrEmpty(path))
            {
                return(commitLog.QueryBy(commitFilter));
            }

            return(commitLog.QueryBy(path, commitFilter).Select(c => c.Commit));
        }
Example #2
0
 private void FillInEvidence(IQueryableCommitLog commitLog, string output)
 {
     if (LastCommitWasByNonEmployee(commitLog))
     {
         GitEvidence.FeatureRating = 1;
         GitEvidence.SetPassed(new SimpleEvidenceBuilder("Commits:" + Environment.NewLine + output));
     }
     else
     {
         GitEvidence.SetFailed(new SimpleEvidenceBuilder("Last Commit By Waters Employee"));
     }
 }
Example #3
0
        private static string CollectGitLogOutput(IQueryableCommitLog commitLog)
        {
            const string RFC2822Format = "ddd dd MMM HH:mm:ss yyyy K";

            var output = new List <string>();

            foreach (var c in commitLog.Where(c => !c.Author.Email.ContainsAny(GetHostDomains())))
            {
                output.Add(string.Format("commit {0}", c.Id));

                if (c.Parents.Count() > 1)
                {
                    output.Add($"Merge: {string.Join(" ", c.Parents.Select(p => p.Id.Sha.Substring(0, 7)).ToArray())}");
                }

                output.Add(string.Format("Author: {0} <{1}>", c.Author.Name, c.Author.Email));
                output.Add($"Date:   {c.Author.When.ToString(RFC2822Format, CultureInfo.InvariantCulture)}" + Environment.NewLine);
                output.Add(c.Message + Environment.NewLine);
            }
            return(string.Join(Environment.NewLine, output));
        }
Example #4
0
 public static bool LastCommitWasByNonEmployee(IQueryableCommitLog c)
 {
     return(!c.First().Author.Email.ContainsAny(GetHostDomains()));
 }
Example #5
0
 public static ICommitLog OrderTopological(this IQueryableCommitLog commits) =>
 commits.QueryBy(
     new CommitFilter
 {
     SortBy = CommitSortStrategies.Topological
 });