SYNOPSIS

       .   commitlog2cvsweb [--cvsweb=URL] [--urlsuffix=SFX] [--branch=TAG]
           [--showallbranches] [--outfile=FILE] [--committer=PATTERN] [--and]
           [--insensitive] [--logmessage=PATTERN]...  [--link-committers]
           [--queryprcgi=URL] [--number-commits] [--maximum=NUM] [--sort-argu-
           ments]  commitlog-file...

       .   commitlog2cvsweb --version


DESCRIPTION

       The commitlog2cvsweb program takes one ore more commitlog files and
       converts them into HTML. The commitlog files are usually stored under
       /home/ncvs/CVSROOT/commitlogs/ and can be retrieved by cvsup-ing the
       cvsroot-common and cvsroot-src collections in CVS mode. (See cvsup,
       http://www.FreeBSD.org/doc/en/books/handbook/cvsup.html and "EXAM-
       PLES".)

       The generated HTML has hyperlinks to the "cvsweb.cgi" script. This
       means you can click on any of the changed files and see the CVS log
       (change history) and have access to all the revisions and deltas.

       (The CGI script "cvsweb.cgi" was originally written by Bill Fenner
       <fenner@freebsd.org> for the FreeBSD project. It allows browsing of
       CVS-repositories with a HTML-browser. CVS is a popular version control
       system. "cvsup" is written by John Polstra <jdp@polstra.com>. It is a
       network distribution package for CVS repositories.)

       Options may be abbreviated to a unique prefix. The options are as fol-
       lows:

       --cvsweb=URL
           Specify URL of cvsweb.cgi script. Default:
           http://cvsweb.FreeBSD.org/

       --urlsuffix=SFX
           Specify some extra information for appending to generated URLs.
           (You should not type a leading "?" or "&" character because it will
           be added automatically.)

       --branch=TAG
           Output only commit messages from branch TAG.

       --showallbranches
           Tell "cvsweb.cgi" that you want to see file revisions on all
           branches. The default behaviour is to show only revisions on the
           branch selected with "--branch".

       --outfile=FILENAME
           Specify the output file. If no output file is specified standard
           output is used.

       --committer=PATTERN
           Output only commits matching all logmessage patterns (AND). The
           default is to output commits matching any pattern (OR).

       --insensitive
           Ignore case when matching logmessage patterns.

       --link-committers
           Add hyperlinks to committers previous/next commit.

       --number-commits
           Sequentially number all commits. (Numbering is done on a per file
           basis.)

       --queryprcgi=URL
           Use URL to query problem reports. Default:
           http://www.FreeBSD.org/cgi/query-pr.cgi

       --maximum=NUM
           Output at most NUM commits per input file.

       --body-attributes=ATTRIBUTES
           Specify attributes for the html BODY tag.

       --noheadfoot
           Suppress output of HTML, HEAD and BODY tags. This is for including
           the output into another HTML file.

       --from=DATE
           Output only commit messages made after DATE. Options "--after" and
           "--since" are aliases for "--from".

       --to=DATE
           Output only commit messages made before DATE. Options "--before"
           and "--upto" are aliases for "--to". If DATE does not contain a
           timezone then the date is interpreted according to the local time-
           zone.  Check Time::ParseDate for supported date/time formats.

       --nofileheaders
           Do not emit H1 tags for each input file.

       --commitlogdir=DIR
           Look for commitlogfiles in DIR. (May contain shell wildcard charac-
           ters.)

       --sort-arguments
           Arguments (input files) are processed in order of their modifica-
           tion times. This is useful to process several commitlog files in
           chronological order.

       --version
           Print version information and exit.


       Only the first existing file is used.


EXAMPLES

       Step1: Retrieving the commitlog files

       As a first step you need to get commitlog files. Retrieve them with
       cvsup(1). An example supfile is:

           # Change the next line to use your nearest CVSup mirror site, check
           # out http://www.FreeBSD.org/doc/en/books/handbook/cvsup.html
           *default host=cvsup2.FreeBSD.org base=/usr prefix=/home/ncvs
           *default release=cvs delete use-rel-suffix
           # If you have a slow network link, uncomment the following line!
           #*default compress
           # Next two lines will fetch/sync the commitlogs of /usr/src only.
           # If you are interested in doc/ports/projects too then you will
           # need "cvsroot-all" instead of only -common and -src.
           #cvsroot-all
           cvsroot-common
           cvsroot-src

       Store this as file cvsroot-supfile and run cvsup:

       "cvsup -i CVSROOT\*/commitlogs cvsroot-supfile"

       This will retrieve all commitlog files. That is some 32 MiB as of June
       2006. If you are not interested in old logs use a refuse file as
       described in cvsup or a more selective "-i" option in the above command
       line example.

       Step2: HTMLizing with commitlog2cvsweb

       To check what was going on in the area of FreeBSD kernel development
       since last monday run this command:

       "commitlog2cvsweb --since "monday 0:00" -o sys.html
           /home/ncvs/CVSROOT/commitlogs/sys"

       and open sys.html.

       To see all kernel commits mentioning "sound" or "pcm" dating from the
       year 2006 run:

       "commitlog2cvsweb --since 2006-01-01 --before 2007-01-01 -o
       sound2006.html -i --log sound --log '\bpcm\b' --sort /home/ncvs/CVS-
       ROOT/commitlogs/sys*"

       Note how "\b" (word boundary) was used to avoid matching "pcmcia"!


BUGS

       This implementation is too slow.



perl v5.8.8                       2006-06-22               COMMITLOG2CVSWEB(1)

Man(1) output converted with man2html