Powerful Commit Messages

Unfuddle allows you to manipulate the status of tickets within your projects directly from your repository commit messages. Unfuddle parses incoming commit messages and appropriately resolves, closes, reassigns or comments upon tickets within your project.

The commands that can be used in your commit messages are as follows:

  • resolve (resolves, resolved, resolving, solve, solves, solved, solving, fix, fixes, fixed, fixing) will change the status of the specified tickets to Resolved. If your project is setup to automatically close tickets upon resolution, they will be closed as well.
  • close (closes, closed, closing) will change the status of the specified tickets to Closed.
  • addresses (references, refs, re, see) will associate the Subversion Changeset with the specified tickets noting that the ticket was affected by the commit in some way.
  • spend (spent, spending, invest, invested, investing, work, worked, working) will create a time entry with a given number of hours for the specified ticket.
  • assign (assigns, assigned, assigning, reassign, reassigns, reassigned, reassigning) will reassign the specified tickets to the username that follows.

Here are some examples of how to use your newly discovered Unfuddle Judo skills:

> svn commit -m 'fixed #372 and #456 and closed #385'
> svn commit -m 'resolves #22 & reassigns #22 to david'
> git commit -am 'refs #124, #125 and #129 and closes #126'
> git commit -am 'fixes #273 and spent 5.5 hours on #273'

A few notes on syntax...

  • If you want Unfuddle to actually affect tickets in your project, each ticket number must be preceded by a hash (#) symbol, as shown in the examples above.
  • When reassigning tickets, the specified username must be preceded by the word "to" (i.e. "assign #25 & #26 to alex").
  • When creating time entries, the number of hours and the ticket number must be separated by at least the word "on" (i.e. "worked 5:45 on #456" or "worked 6.25 hours on #12").

Git repositories and Powerful Commit Messages

If GIT is your version control system of choice, in order to be able to create Time Entries using Powerful Commit Messages, you need to make sure your local git repository is configured to use the email address we have on file for your username. In order to achieve that, make sure you run the following command in your local git repository:

> git config user.email email_address@example.com

Where email_address@example.com is the email address associated with your Unfuddle username in your account.

NOTE: If your repository is associated with more than one project, powerful commit messages will not work. Unfuddle has no way to distinguish between projects and then appropriately manipulate tickets.