[PATCH STABLE-V2] help: add an help topic about the Changesets obsolescence concept

Laurens Holst laurens.nospam at grauw.nl
Fri Aug 3 08:39:25 CDT 2012


Op 01-08-12 19:50, pierre-yves.david at logilab.fr schreef:
> +Obsolescence markers make it possible to mark changesets that have been
> +deleted or superset in a new version of the changeset.
> +
> +Unlike the previous way of handling such changes, by stripping the old
> +changesets from the repository, obsolescence markers can be propagated
> +between repositories. This allows for a safe and simple way of exchanging
> +mutable history and altering it after the fact. Changeset phases are
> +respected, such that only draft and secret changesets can be altered (see
> +:hg:`hg phases` for details).
> +
> +Obsolescence is tracked using "obsolete markers", a piece of metadata
> +tracking which changesets have been made obsolete, potential successors for
> +a given changeset, the moment the changeset was marked as obsolete, and the
> +user who performed the rewriting operation. The markers are stored
> +separately from standard changeset data can be exchanged without any of the
> +precursor changesets, preventing unnecessary exchange of obsolescence data.

By the way Pierre-Yves, on an unrelated note,

Are obsolete markers also exchanged for secret changesets?

I think this should not be needed unless the secret changesets are also 
exchanged. Also if it does, mutating a secret changeset would (mildly) 
affect their secrecy because the changeset ID leaks to the public...

~Laurens



More information about the Mercurial-devel mailing list