If someone is still looking for an answer, there exists a service which allows mercurial users to connect to pivotal tracker using a syntax like [#story_id finished] in their commit messages. Bitbucket allows for this integration as well.
Links: https://bitbucket.org/proppy/hgpivotal/src/tip/hgpivotal.py
Note from Pivotal Tracker on the format:
The minimum commit message string that will allow Tracker to associate
  a source_commits POST with a story and create a comment is a single
  story ID enclosed in square brackets: '[#12345678]'. A more typical
  message, indicating that one commit completes two stories (which need
  not be in the same Tracker project), might look like this: 'finally
  [finished #12345678 #12345779], fixes client/server integration
  glitch'
If an included story was not already started (it was in the "not
  started" state), an update to that story from /source_commits that
  doesn't contain any other state-change information will automatically
  start the story.
To automatically finish a story by using a commit message, include
  "fixed", "completed", or "finished" in the square brackets in addition
  to the story ID. You may use different cases or forms of these verbs,
  such as "Fix" or "FIXES", and they may appear before or after the
  story ID. Note: For features, use of one of these keywords will put
  the story in the finished state. For chores, it will put the story in
  the accepted state.
In some environments, code that is committed is automatically
  deployed. For this situation, use the keyword "delivers" and feature
  stories will be put in the delivered state.