source: trunk/doc/readme.txt @ 48

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

Updated readme.txt

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