cvs2cl.pl: CVS-log-message-to-ChangeLog conversion script
This Perl script does what you think it does: it produces a GNU-style ChangeLog for CVS-controlled sources, by running "cvs log" and parsing the output. Duplicate log messages get unified in the Right Way. If you don't know what any of that means, then you're doing fine, just keep on truckin' (i.e., hit the Back button on your browser).
Otherwise, you can download the latest version of the script, or get it via CVS thusly:
cvs -d :pserver:email@example.com:/usr/local/cvs login (password "the key") cvs -d :pserver:firstname.lastname@example.org:/usr/local/cvs co cvs2cl
If you have a bug to report, please mail it to email@example.com.
You may also be interested in cvs2html, which converts CVS log data to HTML. It apparently organizes the data by file rather than by commit, which may be less or more useful than cvs2cl depending on your needs.
Here is cvs2cl.pl generating several flavors of its own ChangeLog.
Running cvs2cl.pl --help will get you a thorough usage message, too.