Guidelines for Commit Messages


Commit Message Formatting

The following illustrates the basic outline for commit messages:

 * <One-liner summary of changes>
 *
 * <Empty Line> 
 *
 * <Verbose description of the changes>
 *
 * <Empty Line> 
 *
 * <Special Tags>
 * 

Some commit history viewers treat the first line of commit messages as the summary for the commit. So, an effort should be made to format our commit messages in that fashion. The verbose description may contain multiple paragraphs, itemized lists, etc. Always end the first sentence (and any subsequent sentences) with punctuation.

Commit messages should be wrapped at 80 columns.

Note:
For trivial commits, such as "fix the build", or "fix spelling mistake", the verbose description may not be necessary.

Special Tags for Commit Messages

Mantis (https://issues.asterisk.org/)

To have a commit noted in an issue, use a tag of the form: To have a commit automatically close an issue, use a tag of the form: When making a commit for a mantis issue, it is easiest to use the provided commit message template functionality. It will format the special tags appropriately, and will also include information about who reported the issue, which patches are being applied, and who did testing.

Assuming that you have bug marshal access (and if you have commit access, it is pretty safe to assume that you do), you will find the commit message template section directly below the issue details section and above the issue relationships section. You will have to click the '+' next to "Commit message template" to make the contents of the section visible.

Here is an example of what the template will generate for you:

 * (closes issue #1234)
 * Reported by: SomeGuy
 * Patches:
 *      fix_bug_1234.diff uploaded by SomeDeveloper (license 5678)
 * 

If the patch being committed was written by the person doing the commit, and is not available to reference as an upload to the issue, there is no need to include something like "fixed by me", as that will be the default assumption when a specific patch is not referenced.

Review Board (https://reviewboard.asterisk.org/)

To have a commit set a review request as submitted, include the full URL to the review request. For example:
Note:
The trailing slash in the review URL is required.

Commit Messages with svnmerge

When using the svnmerge tool for merging changes between branches, use the commit message generated by svnmerge. The '-f' option to svnmerge allows you to specify a file for svnmerge to write out a commit message to. The '-F' option to svn commit allows you to specify a file that contains the commit message.

If you are using the expect script wrappers for svnmerge from repotools, a commit message is automatically placed in the file '../merge.msg'.

For more detailed information about working with branches and merging, see the following page on asterisk.org:


Generated on Thu Apr 24 06:35:36 2014 for Asterisk - The Open Source Telephony Project by  doxygen 1.5.6