source: trunk/doc/readme.txt @ 67

Last change on this file since 67 was 67, checked in by Jari Häkkinen, 16 years ago

Fied minor errors in the text.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 2.1 KB
Line 
1$Id: readme.txt 67 2006-01-21 00:00:30Z jari $
2
3svnstat traverses a directory structure (controlled by subversion) and
4calculates developer statistics for all subversion controlled
5entries. The result is written to a sub-directory, svnstat_output,
6that will be created in the current working directory.
7
8To understand what statistics is calculated by svnstat this definition
9is needed: The developer who made the latest change to a line still in
10use in the latest (checked out) revision, is considered as the
11contributor of that line regardless of who actually originally created
12that line.
13
14The statistics calculated is the number of lines contributed from each
15contributing developer in the latest (checked out) revision. Also, the
16number of lines still in use from each revision is calculated.
17
18There are many different types of files and for many file types it
19does not make sense to define lines. Source code, documentation, and
20other human readable files can be treated on line basis whereas
21symbolic links and binary files cannot. svnstat treats non-line based
22files as one-line files, i.e. the developer that made the last change
23to this type of files gets a one-line credit for it.
24
25How should we exclude un-reasonable credit for large line based files?
26We could add a property to that file, tagging it as a file that should
27be treated as an non-line base file.
28
29The current design assumes that the subversion repository to be
30analysed is checked out, maybe one would want to run the analysis
31agains a subversion repositoy directly.
32
33The current flow of the program is.
34
35i) Extract the directory structure starting from the directory given
36   at the command line.
37
38ii) Parse the directory structure, removing files and direcotries that
39   is not in subversion control. After this step, only valid
40   subversion entries will be allowed in the tree. Beware, 'svn blame'
41   chokes on directories, and the directories are still a part of the
42   tree.
43
44iii) Walk through the directory structure and calculate statistics for
45   each entry.
46
47iv) Compile statistics as discussed. This step may be intermingled
48   with step iii).
49
50v) Create the html presentation as discussed.
Note: See TracBrowser for help on using the repository browser.