private RevisionId GetToRevision(RevisionRange processedRevisionRange, RevisionId newToRevision) { if (RevisionComparer.Is(newToRevision).GreaterThan(processedRevisionRange.ToChangeset)) { return(newToRevision); } return(processedRevisionRange.ToChangeset); }
/// <summary> /// Sorts an array of <see cref="SccStamp"/> objects by their /// revision numbers in ascending or descending order. /// </summary> public static void SortByRevision(SccStamp[] stamps, bool descending) { IComparer comparer = new RevisionComparer(); if (descending) { comparer = new ReverseComparer(comparer); } Array.Sort(stamps, comparer); }
private RevisionId GetFromRevision(RevisionRange processedRevisionRange, RevisionId newFromRevision) { if (RevisionComparer.Is(StartRevision).LessThan(newFromRevision)) { newFromRevision = StartRevision; } if (RevisionComparer.Is(newFromRevision).LessThan(processedRevisionRange.FromChangeset)) { return(newFromRevision); } return(processedRevisionRange.FromChangeset); }
protected void SetStartRevisionBy(RevisionRange[] revisionRanges) { if (revisionRanges.Empty()) { return; } var newFromRevision = RevisionComparer.FindMinFromRevision(revisionRanges); var newToRevision = RevisionComparer.FindMaxToRevision(revisionRanges); var processedRevisionRangeStorage = Storage.Get <RevisionRange>(); var processedRevisionRange = processedRevisionRangeStorage.SingleOrDefault() ?? new RevisionRange(newFromRevision, newToRevision); var newProcessedRevisionRange = new RevisionRange(GetFromRevision(processedRevisionRange, newFromRevision), GetToRevision(processedRevisionRange, newToRevision)); processedRevisionRangeStorage.Clear(); processedRevisionRangeStorage.Add(newProcessedRevisionRange); }
/// <summary> /// Sorts an array of <see cref="SccStamp"/> objects by their /// revision numbers in ascending or descending order. /// </summary> public static void SortByRevision(SccStamp[] stamps, bool descending) { IComparer comparer = new RevisionComparer(); if (descending) comparer = new ReverseComparer(comparer); Array.Sort(stamps, comparer); }