Changeset 185 for trunk/doc/readme.txt


Ignore:
Timestamp:
Sep 6, 2006, 4:39:18 AM (15 years ago)
Author:
Jari Häkkinen
Message:

Fixes #65 and #60. Added support for svndigest:ignore. Uppdated documentation. Reworked binary file treatment.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/readme.txt

    r149 r185  
    11$Id$
    22
     3======================================================================
    34Copyright (C) 2005, 2006 Jari Häkkinen
    45
     
    1213svndigest is distributed in the hope that it will be useful, but
    1314WITHOUT ANY WARRANTY; without even the implied warranty of
    14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    1516General Public License for more details.
    1617
     
    1920Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
    2021USA.
    21 
     22======================================================================
    2223
    2324
    2425svndigest traverses a directory structure (controlled by subversion)
    2526and 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.
     27entries. The result is written to a sub-directory of an user
     28specifiable target directory (defualt is the current working
     29directory).
    2830
    2931To understand what statistics is calculated by svndigest this
    3032definition is needed: The developer who made the latest change to a
    31 line still in use in the latest (checked out) revision, is considered
    32 as the contributor of that line regardless of who actually originally
    33 created that line.
     33line still in use in the latest revision, is considered as the
     34contributor of that line regardless of who actually originally created
     35that line.
    3436
    3537The statistics calculated is the number of lines contributed from each
     
    3941There are many different types of files and for many file types it
    4042does 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.
     43other human readable files can be treated in single line basis whereas
     44symbolic links and binary files cannot. svndigest treats binary files
     45as zero-line files, whereas symbolic links are treated as one-line
     46files. There is a possiblity to exclude files from the statistics, the
     47use of the property svndigest:ignore.
    4548
    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.
     49Sometimes large test files and xml files are added to the repository
     50that should not really be counted in the statistics. This is solved
     51with the svndigest:ignore property. Files with this property are
     52excluded from statistics. Setting the svndigest:ignore propertu to a
     53directory will exclude all siblings to that directory from svndigest
     54treatment.
    4955
    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.
     56svndigest requires the subversion repository to be checked out before
     57analysis, i.e., svndigest will not run directly against a repository,
     58and up to date with the repository.
     59
    5360
    5461The current flow of the program is.
    5562
    56 i) Extract the directory structure starting from the directory given
    57    at the command line.
     63i) Check that we are working with a WC in subversion control.
    5864
    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.
     65ii) 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.
    6468
    6569iii) Walk through the directory structure and calculate statistics for
    6670   each entry.
    6771
    68 iv) Compile statistics as discussed. This step may be intermingled
    69    with step iii).
    70 
    71 v) Create the html presentation as discussed.
     72iv) Create the plots and html presentation.
Note: See TracChangeset for help on using the changeset viewer.