AgeCommit message (Collapse)AuthorFilesLines
2015-07-17add some more reports for iliaHEADmasterKenneth Graunke1-0/+50
2015-03-26Make "lines changed" accounting consistentJonathan Corbet2-6/+5
We were calculating "total lines changed" on a per-patch basis, while a developer's lines changed were max(added,removed) for the entire period under study. Track developer changed lines per-patch as well...this has the nice effect of making the percentages add up to 100...
2014-06-18treeplot: Update mainline URLJames Hogan1-1/+1
The primary mainline URL is now torvalds/linux.git rather than torvalds/linux-2.6.git. Signed-off-by: James Hogan <>
2014-06-18Fix ExtMerge pattern for tags and octopus branchesJames Hogan2-2/+2
Fix the ExtMerge pattern to handle more merge subject forms: - Multiple branches from URL: Merge branches '...' and '...' of ...://... - Merging tags from URL: Merge tag '...' of ...://... Merge tags '...' and '...' of ...://... - Merging URL into specific branch: Merge ... of ...://... into ... This allows treeplot to pick up many more external merges, especially in recent releases, that would otherwise have been treated as internal merges and often been accounted for in [No tree]. Signed-off-by: James Hogan <>
2013-12-30Formatting tweak and a useful commentJonathan Corbet1-1/+1
This tool really shouldn't be used at this point; it's mostly there for hysterical interest...
2013-12-30Respond properly to a missing commitJonathan Corbet1-1/+9
Looping forever until the disk fills is somewhat antisocial behavior; they taught me that somewhere in grad school, I'm sure...
2013-08-29Various tweaks and fixesJonathan Corbet3-5/+10
2013-08-29A simple cheesy utility to sort commits by time zoneJonathan Corbet1-0/+22
2013-08-16Add a "minversions" optionJonathan Corbet1-20/+29
...a way to see how many new longer-term developers showed up in each cycle. Also switch to using accumulator.
2013-08-16Add as a place for useful stuffJonathan Corbet1-0/+37
starting with my silly accumulator class.
2013-08-15A hacky utility for making the committags.db databaseJonathan Corbet1-0/+79
2013-08-15firstlast: employer trackingJonathan Corbet2-3/+100
So now I can ask: who were people working for when they committed their first patch? Also add options to restrict detailed tracking to a subset of the version history.
2013-08-15Capture the patch date in grabpatch()Jonathan Corbet1-2/+15
2013-08-14Add file change tracking to gitlog's grabpatch()Jonathan Corbet1-5/+29
2013-08-14Enable firstlast to read a gitdm config file.Jonathan Corbet1-0/+8
2013-08-14Add a cheesy first/last versions crankerJonathan Corbet3-10/+71
This one just reads through the patch stream, tracking where each developer is seen for the first and last time. It uses the new grabpatch().
2013-08-14Accept quotes within email namesJonathan Corbet1-1/+1
Some people actually do it...
2013-08-14Use pypyJonathan Corbet1-1/+1
2013-08-14Start teaching gitlog about the database.Jonathan Corbet2-10/+12
2013-08-14Move LookupStoreHacker to databaseJonathan Corbet2-12/+17
2013-08-14Move "grabpatch" to its own fileJonathan Corbet2-150/+169
Separate out the patch-grabbing functionality to where any utility can use it. The long-term idea is to switch gitdm itself over to this version as well.
2013-08-02Rewrite committagsJonathan Corbet1-21/+76
I'm tired of trying to be fast and clever. This version is dumb and heartbreakingly slow - but it works.
2013-08-02Minor tweaks for the "changelogs" toolJonathan Corbet1-1/+2
2013-08-02Properly track commits with "other" tagsJonathan Corbet1-4/+8
2013-07-23A simple tool for generating changelog stats.Jonathan Corbet1-0/+273
2013-07-18Look in confdir for the main config file if the initial open failsJonathan Corbet1-1/+4
Thanks to Andreas Bießmann <> for the idea and an earlier version of the change.
2013-02-08Add percentages to the touched-files reportJonathan Corbet2-11/+21
...oh, and while I'm at it, make that report actually work right so that a patch touching three driver files only shows up once at the drivers/ level.
2013-02-08Get rid of excess white spaceJonathan Corbet1-144/+144
no functional change
2013-02-08Add a files-touched reportJonathan Corbet2-14/+82
...useful in combination with -C to see where a specific company is working within the kernel.
2013-02-08Get rid of the space-before-paren formattingJonathan Corbet1-118/+118
Dunno why I ever did it that way. No functional change.
2013-02-08Add company filteringJonathan Corbet1-4/+13
Add a -C option to only look at patches from a specific company. The options are getting out of control; it would be good to switch to optparse and add long names for some of them. Someday.
2013-02-08Update copyright dates.Jonathan Corbet1-2/+2
2012-04-06Add version tracking support and an "unknown hackers" reportJonathan Corbet3-7/+82
Version tracking was used to see who had contributed to the most kernel releases; not sure it's a long-term-useful feature. The unknown hackers report helps when trying to improve the database. Signed-off-by: Jonathan Corbet <>
2012-04-06Track which versions a developer has contributed toJonathan Corbet1-0/+22
Signed-off-by: Jonathan Corbet <>
2012-02-12Add -y option to aggregate changes by year, not monthAidan Skinner2-2/+8
2012-02-12Add changesets to csv outputAidan Skinner1-3/+4
2011-12-13Fix up pattern use in treeplotJonathan Corbet1-5/+5
The utility as a whole is still somewhat on the fragile side, though.
2011-07-11Add a default "don't know nothing" FileTypeJonathan Corbet1-1/+4
Otherwise things crash if the configuration does not provide a file type map, even if nobody is asking for file type reports. Signed-off-by: Jonathan Corbet <>
2011-07-11Revert "Make ReadConfigLine an iterator"Jonathan Corbet1-72/+41
This reverts commit 19b718ef41f87f348ac45a90a5c4096ccbd0f7db which breaks the virtual employer mechanism.
2011-07-11Merge branch 'refactoring' of git:// into germanJonathan Corbet11-159/+926
2011-07-11Use pypy by defaultJonathan Corbet1-1/+1's 3x faster... Signed-off-by: Jonathan Corbet <>
2011-06-24Updated the options explanationGermán Póo-Caamaño1-7/+13
Signed-off-by: Germán Póo-Caamaño <>
2011-06-24Added reports by file typesGermán Póo-Caamaño2-2/+51
Added first attempt for reporting by file type: - A general report - A report aggregated by file type and contributor - A report aggregated by contributor and file type Signed-off-by: Germán Póo-Caamaño <>
2011-06-24Make ReadConfigLine an iteratorGermán Póo-Caamaño1-41/+72
Using an iterator makes the code a bit more 'pythonic'. Signed-off-by: Germán Póo-Caamaño <>
2011-06-24Move filetypes onto configuration fileGermán Póo-Caamaño7-408/+445
The filetypes can be extended using a configuration files, where is possible to associate file type and its corresponden regular expression. The code includes a script to test the regex without running gitdm. Signed-off-by: Germán Póo-Caamaño <>
2011-06-22Added workaround for svn tags imported wronglyGermán Póo-Caamaño2-0/+27
When some projects have migrated from Subversion to Git, there were several tags that were treated as new commits, which shows a change in the whole project (code added/removed) when nothing really happened. For instance, in GNOME a lot svn tags were catched during the migration, but not all of them. svn tags in git repositories brings bad stats because double count commits, and in project with a lot history it may may involve several thousands of source of lines of code. Signed-off-by: Germán Póo-Caamaño <>
2011-06-22Added CSV dumps: per filetype and per changesetGermán Póo-Caamaño3-5/+56
Two new dumps were added: per filetype and for every changeset. It necessary to set a prefix where to dump the data in csv, because it will be generated one csv file per file type. Now it is possible to get statistics per code, documentation, build scripts, translations, multimedia and developers documentation. This feature is useful for repositories where there are different types of file, rather than code. The detailed information does not use the Aggregate parameter. Signed-off-by: Germán Póo-Caamaño <>
2011-06-22Fixed CSCount which should not count mergesGermán Póo-Caamaño1-1/+1
Patches as well s Total* and Dates are counted only if the changeset is not a merge. However, CSCount (ChangeSetCount) was counting everything, which changes a bit the results. Signed-off-by: Germán Póo-Caamaño <>
2011-06-22Move out the grabpatch from the parserGermán Póo-Caamaño2-24/+102
The class LogPatchSplitter provides an iterator per patch. This makes the code cleaner, easier to read and more pythonic. The class only gets each commit set as lines. It is possible to test it separately by: $ git log | python | more Signed-off-by: Germán Póo-Caamaño <>
2011-06-22Added initial support for file type reportsGermán Póo-Caamaño2-7/+430
It may distinguish between code, documentation, translations, etc. Hence, it provides the basic feature to get more accurate reports. It does not replace the current stats, it is only add the possibility to generate reports by file type. This feature was implemented originally by Gregorio Robles in CVSAnalY Gregorio agreed to add his code here. Signed-off-by: Germán Póo-Caamaño <>