source: trunk/doc/readme.txt @ 84

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

Added copyright statement. Bumped version number to pre0.3. Cleaned up code.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 2.8 KB
Line 
1$Id: readme.txt 84 2006-03-13 22:04:34Z jari $
2
3Copyright (C) 2005, 2006 Jari Häkkinen
4
5This file is part of svnstat, http://lev.thep.lu.se/trac/svnstat
6
7svnstat is free software; you can redistribute it and/or modify it
8under the terms of the GNU General Public License as published by the
9Free Software Foundation; either version 2 of the License, or (at your
10option) any later version.
11
12svnstat is distributed in the hope that it will be useful, but WITHOUT
13ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program; if not, write to the Free Software
19Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
20USA.
21
22
23
24svnstat traverses a directory structure (controlled by subversion) and
25calculates developer statistics for all subversion controlled
26entries. The result is written to a sub-directory, svnstat_output,
27that will be created in the current working directory.
28
29To understand what statistics is calculated by svnstat this definition
30is needed: The developer who made the latest change to a line still in
31use in the latest (checked out) revision, is considered as the
32contributor of that line regardless of who actually originally created
33that line.
34
35The statistics calculated is the number of lines contributed from each
36contributing developer in the latest (checked out) revision. Also, the
37number of lines still in use from each revision is calculated.
38
39There are many different types of files and for many file types it
40does not make sense to define lines. Source code, documentation, and
41other human readable files can be treated on line basis whereas
42symbolic links and binary files cannot. svnstat treats non-line based
43files as one-line files, i.e. the developer that made the last change
44to this type of files gets a one-line credit for it.
45
46How should we exclude un-reasonable credit for large line based files?
47We could add a property to that file, tagging it as a file that should
48be treated as an non-line base file.
49
50The current design assumes that the subversion repository to be
51analysed is checked out, maybe one would want to run the analysis
52agains a subversion repositoy directly.
53
54The current flow of the program is.
55
56i) Extract the directory structure starting from the directory given
57   at the command line.
58
59ii) Parse the directory structure, removing files and direcotries that
60   is not in subversion control. After this step, only valid
61   subversion entries will be allowed in the tree. Beware, 'svn blame'
62   chokes on directories, and the directories are still a part of the
63   tree.
64
65iii) Walk through the directory structure and calculate statistics for
66   each entry.
67
68iv) Compile statistics as discussed. This step may be intermingled
69   with step iii).
70
71v) Create the html presentation as discussed.
Note: See TracBrowser for help on using the repository browser.