info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New commit log tool: cvslog2web


From: Ethan Tira-Thompson
Subject: New commit log tool: cvslog2web
Date: Sun, 13 Aug 2006 14:33:07 -0400
User-agent: Thunderbird 1.5.0.5 (Macintosh/20060719)

I just wanted to announce to the CVS community that I've made a new log parsing tool available, called cvslog2web.  This is a Python script which converts CVS commit log output into any or all of three different formats:
  • Atom syndication format (a standardized version of RSS, from IETF)
  • XHTML "recently updated" index (standalone or fragment)
  • Individual log entry pages ("permalinks")

Some of the notable features include:
  • Smart parsing -- merges consecutive log entries for files committed with the same log message into single update. (keeps cross-directory commits together, a naïve implementation would list each directory as a separate commit)
  • Compact file listing, streamlines the list of file names.  An update of:
      /foo/bar/baz
      /foo/bar/moo
      /foo/bar/pow/zing
    becomes just one line:
      /foo/bar/{baz, moo, pow/zing}
  • Files listed in the log can be links to ViewCVS/ViewVC for web-based diffs (or other such package, the URL is configurable).
  • Support for spaces in file names! (not easy considering the format of output CVS provides to scripts like this, sigh...)
  • Detailed CSS style support, structure of permalink pages very configurable
  • Valid XML output via Python's xml.dom module. (not some error-prone string parsing I hacked together)

You can download the script and some default CSS files from:
  http://ethan.tira-thompson.com/cvslog2web/

Another example of cvslog2web usage is found here (see sidebar):
  http://tekkotsu.no-ip.org/
(staging server, to be moved to main website shortly)

Enjoy!
  -ethan


reply via email to

[Prev in Thread] Current Thread [Next in Thread]