This is an old revision of the document!
Description
CVS has a default template that is used for commit messages. FreeBSD has extended it with several lines of data to allow more precise information to be included in the commit message such as the PR number, by whom it was approved and so on.
Current Implementation
SVN Implementation
Hg Implementation
Hg runs a command called hgeditor when committing, it is a shell script that be tailored to our needs including template support.
Git Implementation
git-commit is just a shell script which could be extended to start the editor with a simple default template
Monotone Implementation
Supported (also see the [http://venge.net/monotone/wiki/FeatureLogReview related page on Monotone wiki])
Monotone supports the validate_commit_message hook, which is passed a user's intended commit message and details of the revision about to be committed. Hooks are implemented in lua, and can make arbitrary programmatic assessements of the log message to decide whether to accept or reject it. The default hook simply rejects empty messages.