- Timestamp:
- Sep 6, 2006, 4:39:18 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/readme.txt
r149 r185 1 1 $Id$ 2 2 3 ====================================================================== 3 4 Copyright (C) 2005, 2006 Jari Häkkinen 4 5 … … 12 13 svndigest is distributed in the hope that it will be useful, but 13 14 WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 16 General Public License for more details. 16 17 … … 19 20 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 20 21 USA. 21 22 ====================================================================== 22 23 23 24 24 25 svndigest traverses a directory structure (controlled by subversion) 25 26 and calculates developer statistics for all subversion controlled 26 entries. The result is written to a sub-directory that will be created 27 in the current working directory. 27 entries. The result is written to a sub-directory of an user 28 specifiable target directory (defualt is the current working 29 directory). 28 30 29 31 To understand what statistics is calculated by svndigest this 30 32 definition is needed: The developer who made the latest change to a 31 line still in use in the latest (checked out) revision, is considered32 as the contributor of that line regardless of who actually originally 33 createdthat line.33 line still in use in the latest revision, is considered as the 34 contributor of that line regardless of who actually originally created 35 that line. 34 36 35 37 The statistics calculated is the number of lines contributed from each … … 39 41 There are many different types of files and for many file types it 40 42 does not make sense to define lines. Source code, documentation, and 41 other human readable files can be treated on line basis whereas 42 symbolic links and binary files cannot. svndigest treats non-line based 43 files as one-line files, i.e. the developer that made the last change 44 to this type of files gets a one-line credit for it. 43 other human readable files can be treated in single line basis whereas 44 symbolic links and binary files cannot. svndigest treats binary files 45 as zero-line files, whereas symbolic links are treated as one-line 46 files. There is a possiblity to exclude files from the statistics, the 47 use of the property svndigest:ignore. 45 48 46 How should we exclude un-reasonable credit for large line based files? 47 We could add a property to that file, tagging it as a file that should 48 be treated as an non-line base file. 49 Sometimes large test files and xml files are added to the repository 50 that should not really be counted in the statistics. This is solved 51 with the svndigest:ignore property. Files with this property are 52 excluded from statistics. Setting the svndigest:ignore propertu to a 53 directory will exclude all siblings to that directory from svndigest 54 treatment. 49 55 50 The current design assumes that the subversion repository to be 51 analysed is checked out, maybe one would want to run the analysis 52 agains a subversion repositoy directly. 56 svndigest requires the subversion repository to be checked out before 57 analysis, i.e., svndigest will not run directly against a repository, 58 and up to date with the repository. 59 53 60 54 61 The current flow of the program is. 55 62 56 i) Extract the directory structure starting from the directory given 57 at the command line. 63 i) Check that we are working with a WC in subversion control. 58 64 59 ii) 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. 65 ii) Build the requested directory structure ignoring not subversion 66 controlled items. During the directory structure creation a check 67 is made that the WC is up to date with the repository. 64 68 65 69 iii) Walk through the directory structure and calculate statistics for 66 70 each entry. 67 71 68 iv) Compile statistics as discussed. This step may be intermingled 69 with step iii). 70 71 v) Create the html presentation as discussed. 72 iv) Create the plots and html presentation.
Note: See TracChangeset
for help on using the changeset viewer.