Phases are Mercurial's way of marking changesets `public` (published), `draft` (unpublished), or `secret`. Public changesets cannot easily be rebased, etc., providing a level of safety when mutating repositories.
Phases were introduced in Mercurial 2.1: they allow one to keep track of which changesets have been shared/published (public
) and which ones have not (draft
and secret
). Destructive repository changing operations like rebase
are not allowed on public
changesets as other repositories may be based on these.
Information about the phases of various revisions can be seen with the hg phase
command:
hg phase REV