CVSreport produces text or enhanced HTML activity reports from a local or remote CVS repository. It can be used to extract activity information from any timespan, or to automatically generate reports and store/send them on commit events. It can extract changesets (a set of commit operations which happen along a single invocation of the cvs commit command) from a CVS repository history. Used from the client side, it produces a report starting from an arbitrary date from a simple working copy. On the server side, it can automatically generate reports and mail them upon commit.