CommitMessage is a modular, easy-to-use approach to CVS and SVN commit emails. It consists of a controller for each supported system (currently CVS and SVN), which populates a generic model with the entire commit, and then passes the model to the configured views. The views are written as Python classes, and are configured in the configuration file.