== Type of Statistics ==
=== Classic ===
The classic way how svndigest calculates statistics is based on `svn blame` (aka `svn praise`). A good way to picture it is to issue `svn blame` for each file. The typical output is:
{{{
102 author1 some text
105 author2 some more text
105 author2 even some more text
}}}
In this case author1 has zero lines in revision range [1,101] and after that one line. Author2 has zero lines in revision range [1,104] and after that two lines. For each file svndigest parses this output and generates histogram on when and by who lines were modified. Of note, is that the curves generated with the classic statistics are non-decreasing. This simply reflects that the statistics is cumulative answering the question: ''How many of the lines, present in the current revision, did '''author''' add before revision '''rev''' ?''
=== Blame ===
The blame statistics is also based on the blame output. However, rather than only issue `svn blame` for the lastest revision, `svn blame -r N` is issued for each revision ''N''. Svndigest calculates how many lines '''author''' own at the specific revision by simply counting the second column in the blame output. This statistics answers the question: ''How many lines, in the repository at revision '''rev''', were '''author''' responsible for?''
=== Add ===
The add statistics is based on `svn diff` output. For each commit done by '''author''', svndigest parses the difference against previous revision, and calculates how many lines were added. This statistics answers the question: ''How many lines had '''author''' in total added at revision '''rev''' (or earlier)?''