Прежде всего, выполнение hg push -f
не может удалить промежуточные коммиты. Mercurial построен на основе модели истории только для добавления, и вы не можете удалить содержимое с сервера, нажав на него.
Когда пользователь делает hg push -f
, он приказывает Mercurial продолжать нажим, даже если он создает новые удаленные головки . Чтобы предотвратить это, вам нужен хук на сервере, который запрещает более одной головы. Здесь перечислены несколько таких крючков .
В Mercurial 1.6 больше нет необходимости использовать -f
при нажатии на новую именованную ветвь. Вместо этого вы должны использовать hg push --new-branch
. Это безопаснее, поскольку позволяет создавать только новые ветви, а не создавать несколько удаленных головок.