cvs2cl is Perl script that 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.
Commercial Use
Modify
Distribute
Place Warranty
Sub-License
Hold Liable
Distribute Original
Disclose Source
Include Copyright
State Changes
Include License
These details are provided for information only. No information here is legal advice and should not be used as such.