|
|
@@ -169,6 +169,8 @@ class GitDataCollector(DataCollector):
|
|
169
|
169
|
self.commits_by_year = {} # year -> commits
|
|
170
|
170
|
self.first_commit_stamp = 0
|
|
171
|
171
|
self.last_commit_stamp = 0
|
|
|
172
|
+ self.last_active_day = None
|
|
|
173
|
+ self.active_days = 0
|
|
172
|
174
|
|
|
173
|
175
|
# tags
|
|
174
|
176
|
self.tags = {}
|
|
|
@@ -313,6 +315,11 @@ class GitDataCollector(DataCollector):
|
|
313
|
315
|
self.authors[author]['last_active_day'] = yymmdd
|
|
314
|
316
|
self.authors[author]['active_days'] += 1
|
|
315
|
317
|
|
|
|
318
|
+ # project: active days
|
|
|
319
|
+ if yymmdd != self.last_active_day:
|
|
|
320
|
+ self.last_active_day = yymmdd
|
|
|
321
|
+ self.active_days += 1
|
|
|
322
|
+
|
|
316
|
323
|
# TODO Optimize this, it's the worst bottleneck
|
|
317
|
324
|
# outputs "<stamp> <files>" for each revision
|
|
318
|
325
|
self.files_by_stamp = {} # stamp -> files
|
|
|
@@ -414,6 +421,9 @@ class GitDataCollector(DataCollector):
|
|
414
|
421
|
a['date_last'] = date_last.strftime('%Y-%m-%d')
|
|
415
|
422
|
a['timedelta'] = delta
|
|
416
|
423
|
|
|
|
424
|
+ def getActiveDays(self):
|
|
|
425
|
+ return self.active_days
|
|
|
426
|
+
|
|
417
|
427
|
def getActivityByDayOfWeek(self):
|
|
418
|
428
|
return self.activity_by_day_of_week
|
|
419
|
429
|
|
|
|
@@ -515,7 +525,7 @@ class HTMLReportCreator(ReportCreator):
|
|
515
|
525
|
f.write('<dt>Project name</dt><dd>%s</dd>' % (data.projectname))
|
|
516
|
526
|
f.write('<dt>Generated</dt><dd>%s (in %d seconds)</dd>' % (datetime.datetime.now().strftime(format), time.time() - data.getStampCreated()))
|
|
517
|
527
|
f.write('<dt>Generator</dt><dd><a href="http://gitstats.sourceforge.net/">GitStats</a> (version %s)</dd>' % getversion())
|
|
518
|
|
- f.write('<dt>Report Period</dt><dd>%s to %s (%d days)</dd>' % (data.getFirstCommitDate().strftime(format), data.getLastCommitDate().strftime(format), data.getCommitDeltaDays()))
|
|
|
528
|
+ f.write('<dt>Report Period</dt><dd>%s to %s (%d days, %d active days)</dd>' % (data.getFirstCommitDate().strftime(format), data.getLastCommitDate().strftime(format), data.getCommitDeltaDays(), data.getActiveDays()))
|
|
519
|
529
|
f.write('<dt>Total Files</dt><dd>%s</dd>' % data.getTotalFiles())
|
|
520
|
530
|
f.write('<dt>Total Lines of Code</dt><dd>%s</dd>' % data.getTotalLOC())
|
|
521
|
531
|
f.write('<dt>Total Commits</dt><dd>%s</dd>' % data.getTotalCommits())
|