I noted that in BitBucket when your commit log contains a number like #12
this number is linked to the bug number 12.
I found this feature interesting, and
Trac does it as well, of course. It's easily configurable:
_supported_cmds = {
'closed': '_cmdClose',
'fix': '_cmdClose',
'addresses': '_cmdRefs',
're': '_cmdRefs',
Bitbucket already supports marking issues on commit using the Issues service.
The issues service scans commit messages for commands which will automatically change the state of the relevant issue on the tracker.
[snip]
Examples:
"... fixes #4711 ..." # marks issue as resolved
"... reopening bug 4711..." # marks issue as open
"... refs ticket 4711..." # links changeset to issue as comment
"... refs bug #4711 and #4712..." # links to multiple issues
You may need to activate it, to do so:
Services can be activated on a per-repository basis by the administrator. Go to your repository page, select the Admin tab, click Services, then select a service from the list, and add it.
Google Code Project Hosting also supports it:
http://code.google.com/p/support/wiki/IssueTracker#Integration_with_version_control
There are commit-log commands to:
Request a code review.
(Fixes issue NNN) Enclose command in parentheses
Fixes issue NNN. Full sentence in your log message description
Fixes issue NNN On a line by itself
The word Fixes can replaced with Closes or Resolves. The issue number can have a leading pound-sign (#) or not.
The other commit-log commands use a multi-line "long form" syntax that is more powerful.
COMMAND-LINE
ISSUE-FIELD-UPDATE*
COMMENT-TEXT...
Where COMMAND-LINE is one of the following:
Update issue NNN
New issue
New review
There can be any number of ISSUE-FIELD-UPDATE lines. These lines can be one of the following:
Summary: NEW-VALUE
Status: NEW-VALUE
Owner: NEW-VALUE
Cc: PLUS-MINUS-LIST
Labels: PLUS-MINUS-LIST
Redmine has configurable options. Most used ones are: