protected override RevisionRange[] RetrieveRevisionRanges() { var result = new RevisionRange[0]; if (IsFirstRun) { result = VersionControlSystem.GetFromTillHead(StartRevision, PageSize); } else if (!IsStartRevisionChanged || IsStartRevisionWithinAlreadyProcessedRevisionRange) { var alreadyProcessedRevisionRange = Storage.Get <RevisionRange>().Single(); result = VersionControlSystem.GetAfterTillHead(alreadyProcessedRevisionRange.ToChangeset, PageSize); } else if (IsStartRevisionBehindAlreadyProcessedRevisionRange) { result = VersionControlSystem.GetAfterTillHead(StartRevision, PageSize); } else if (IsStartRevisionBeforeAlreadyProcessedRevisionRange) { var revisionRanges = new List <RevisionRange>(); var alreadyProcessedRevisionRange = Storage.Get <RevisionRange>().Single(); revisionRanges.AddRange(VersionControlSystem.GetFromAndBefore(StartRevision, alreadyProcessedRevisionRange.FromChangeset, PageSize)); revisionRanges.AddRange(VersionControlSystem.GetAfterTillHead(alreadyProcessedRevisionRange.ToChangeset, PageSize)); result = revisionRanges.ToArray(); } if (result.Any()) { Logger.Info("New revisions found"); } return(result); }
protected override RevisionRange[] RetrieveRevisionRanges() { return(VersionControlSystem.GetFromTillHead(StartRevision, PageSize)); }