version-controlmercurialtortoisehgcommit-messagemercurial-commit

How to edit incorrect commit message in Mercurial?


I am currently using TortoiseHg (Mercurial) and accidentally committed an incorrect commit message. How do I go about editing this commit message in the repository?


Solution

  • Update: Mercurial has added --amend which should be the preferred option now.


    You can rollback the last commit (but only the last one) with hg rollback and then reapply it.

    Important: this permanently removes the latest commit (or pull). So if you've done a hg update that commit is no longer in your working directory then it's gone forever. So make a copy first.

    Other than that, you cannot change the repository's history (including commit messages), because everything in there is check-summed. The only thing you could do is prune the history after a given changeset, and then recreate it accordingly.

    None of this will work if you have already published your changes (unless you can get hold of all copies), and you also cannot "rewrite history" that include GPG-signed commits (by other people).