Are there any rules of thumb or guidelines for how to write the changes message of version control systems?
An obvious answer may seem a brief description of the most important changes but in reality it is not always easy to select the most important changes and describe the relevant aspects of these changes briefly, especially in early stages of development when large chunks of code are being added.
It depends on the goals of the project. We use Git and require four fields:
Brief Summary (one line subject of commit)
Related Tickets (used to integrate with Trac)
Detailed Report
Future Work Required
Our Git repositories have hooks that require the commit message form to be filled out correctly otherwise the server rejects the commits.
This way, people can see the summary line and get a good idea of what happened while the detailed report is available for anything tricky and the future work allows everybody to see what issues still exist.