Frequently Asked Questions

Why not using the commit message ?

Commit messages in mercurial are written once in a changeset and cannot be changed again without altering the whole history based their corresponding changeset.

Humans are not errors-prone, and it (sometimes) happen that someone forget to indicate which issue ID correspond to the changeset he just committed, or even enter a wrong ID. As those errors cannot be easily corrected, this information is not stored this way. This way, it is still possible to change the issue ID referenced by a changeset commited three years ago.

Do I need the server-side stuff ?

If you don’t care about the web interface, you can only enable the extension on your computer and use the locally stored links between changeset and issue ID as a reference. the command hg links can be used for this purpose.

Why not storing the bug state ?

That’s the job of the bug tracker, we’re only here to make the missing link between him and changesets. Furthermore, developers (for who this tools is written) don’t know if the bug has indeed been fixed until Q&A validates it.

How do I import all my issues as a batch ?

Say, like Mercurial, you used to store your issue number in your comit message. You can import them as follow:

for i in `hg log --template '{rev}\n'`; do ref=`hg log -r $i --template '{desc}\n' | perl -ne 's/.*(issue\d+).*/$1/ && print'`; if ! [ -z "$ref" ]; then echo $i $ref >> issuelist;fi; done;

And then import the list via the hg debugimportlink command:

hg debugimportlink issuelist