예제 #1
0
        public List <TrendData> AnalyzeTrend(string localFile)
        {
            var trend = new List <TrendData>();

            // Log on this file to get all revisions
            var fileHistory = _sourceProvider.ExportFileHistory(localFile);

            // For each file we need to calculate the metrics LOC and inverted whitespace.
            foreach (var file in fileHistory)
            {
                var fileInfo      = new FileInfo(file.CachePath);
                var loc           = _metricsProvider.CalculateLinesOfCode(fileInfo);
                var invertedSpace = _metricsProvider.CalculateInvertedSpaceMetric(fileInfo);
                trend.Add(new TrendData {
                    Date = file.Date, Loc = loc, InvertedSpace = invertedSpace
                });
            }

            return(trend);
        }