Warning: Can't synchronize with the repository (Couldn't open Subversion repository /home/crystal/scm/crystal: SubversionException: ("Expected FS format between '1' and '3'; found format '4'", 160043)). Look in the Trac log for more information.

Current situation

Update: Branch commit messages are now slightly more verbose and generally contain the merged revision(s) as well as a one-liner summarizing the changeset. This gives an idea what has changed, and the detailed information is linked to by trac automatically.

Overall the commit message are ok. The information given in a commit is short and to the point. There however is an exception when it comes to the merge messages. The merge message don't detail anything about what actually was being merged. Just the revision number it was merged from e.g.:

Log Message:
-----------
- Marten merged r25409 into 1.0.

Proposition 1

I want to propose making this different.

  • Add info about the merged changes.
  • Prefix the message with a small tag indicating from where it was merged.
Log Message:
-----------
MFH r25409: - Marten fixed circular ref problem in particles, trac #143.

This would indicate that Marten merged the changes in r25409 to the current branch.

Proposition 2

This proposition is basicly the same as 1 with the exception that some more info is added in the log message about where it is merged to.

Log Message:
-----------
MFH r25409 into 1.0: - Marten fixed circular ref problem in particles, trac #143.

This would indicate that Marten merged the changes in trunk r25409 to the 1.0 branch.

The tags

Proposition 1

MFT: Merge From Trunk (A normal merge from trunk to a branch)
MFH: Merge From Head (Basicly the same as above)
MFB: Merge From Branche (A merge from a branch to a trunk)

Proposition 2

MFH: Merge From Head (A merge from trunk to a branch or tag)
MFB: Merge From Branch (A merge from a branch to a trunk or tag)
MFT: Merge From Tag (A merge from a tag to a trunk or branch)

Especially note the difference in the tags MFT.

Large merge example

Original:

Log Message:
-----------
res merged trunk r25318:25320, r25334, r25339, r25363:25365 into
  1.0.

Although quite short for a larger merge it does not detail anything and its a hell to figure out what actually changed (without resorting to using Trac).

Using proposition 2 it would look like:

Log Message:
-----------
MFH r25318:25320, r25334, r25339, r25363:25365 into 1.0:
- kirchdorfer: 
    Changing ViewMesh to use CEGUI and fixing a bug in csHash::Delete (const K& key, const T &value). 
    Extending the ice-skin for tabbuttons. 
    Upgrading the ice skin to work with CEGUI 5.0RC2. 
    Improving the viewmesh standard dialog a little.
- Jorrit fixed viewmesh so that it starts at the current dir instead of an internal CEGUI directory. 
- Erroroman fixed a bit the new animation shaders.
- res2002: Some tweaks to viewmesh Jamfile.

How the changes are outlined here with a big merge does not really matter. Even a shorter summery of what changed is good. As long as you have some idea of what was actually merged.

I intentionally left out the merge of some automatic generated files in this example message since it is not an important change. More so it is a change that happens regularly so people who are watching the commit messages should know that this is merged once in a while.

Revision ranges

When using a range of rivisions use the format:

r25318:25320

This format allows Trac to make a nice link with exactly that range. Here an example that works: r25318:25320.