Вот несколько вариантов:
backout
Учитывая историю, построенную как:
hg init db
cd db
echo >file1
hg ci -Am clone # rev 0
echo >file2
hg ci -Am personalization # rev 1
echo >file3
hg ci -Am bugfix # rev 2
echo >file4
hg ci -Am feature # rev 3 <tip>
Тогда, если текущим рабочим каталогом является подсказка, следующееКоманды «отменят» ревизию персонализации:
hg backout 1
hg ci -m backout
Преимущество в том, что история остается неизменной, но показывает добавление и возврат изменений персонализации.
Mercurial Queues
С расширением mq историю можно редактировать, чтобы удалить набор изменений:
hg qimport -r 1:3 # convert changesets 1-3 to patches
hg qpop -a # remove all patches (can't delete an applied patch)
hg qdel 1.diff # delete rev 1's patch
hg qpush -a # reapply remaining patches
hg qfin -a # convert all applied patches back to changesets.
Преимущество состоит в том, что набор изменений персонализации исчезает.Недостатком является изменение хэшей набора изменений из-за редактирования истории, поэтому это никогда не следует делать для наборов изменений, которые уже были переданы другим.Существует также риск ошибки редактирования истории.