Несмотря на то, что прошло достаточно много времени, всё-таки напишу несколько строк о более удобном решении, чем MQ (по мнению, в том числе, самих разработчиков mercurial).
А именно, расширение histedit (которое уже давно поставляется вместе с Mercurial, а значит тестируется так же и имеет согласованный интерфейс). Оно представляет удобный способ свёртки, изменения, редактирования, удаления, перемещения коммитов в истории, причём всё достаточно интуитивно для пользователя.
Так же есть менее известное и пока не распространяемое вместе с Mercurial, (не из-за отсутствия стабильности, а в основном из-за некоторой несогласованности интерфейса, опций, поведения) расширение evolve (так же changeset evolution,
mercurial.selenic.com/wiki/ChangesetEvolution), которое пишет один из разработчиков. Оно во-первых изменяет поведение стандартных команд, которые редактируют историю, давая некоторые приятные фишки: а) возможность получить любую версию удалённого или изменённого коммита (да, это версионность самих версий файлов), и б) можно менять опубликованную историю, причём она коррекно изменится у всех людей склонировавших репозиторий (есть небольшие оговорки). Также это расширение добавляет некоторые дополнительные команды, например для свёртки нескольких коммитов —
hg fold
.
Оба этих расширения используются самой командой разработки Mercurial в официальных репозиториях.