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

_______________________________________________
info-cvs mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/info-cvs

Reply via email to