annotate mercurial/help/internals/censor.txt @ 33994:38f08eaba6b0

template: compute user in obsfateusers Extract, deduplicate users informations from obs markers in order to display them. Print all users for the moment, we might want to display users only in verbose mode later.
author Boris Feld <boris.feld@octobus.net>
date Mon, 03 Jul 2017 15:34:00 +0200
parents 1b699a208cee
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31280
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
1 The censor system allows retroactively removing content from
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
2 files. Actually censoring a node requires using the censor extension,
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
3 but the functionality for handling censored nodes is partially in core.
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
4
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
5 Censored nodes in a filelog have the flag ``REVIDX_ISCENSORED`` set,
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
6 and the contents of the censored node are replaced with a censor
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
7 tombstone. For historical reasons, the tombstone is packed in the
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
8 filelog metadata field ``censored``. This allows censored nodes to be
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
9 (mostly) safely transmitted through old formats like changegroup
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
10 versions 1 and 2. When using changegroup formats older than 3, the
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
11 receiver is required to re-add the ``REVIDX_ISCENSORED`` flag when
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
12 storing the revision. This depends on the ``censored`` metadata key
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
13 never being used for anything other than censoring revisions, which is
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
14 true as of January 2017. Note that the revlog flag is the
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
15 authoritative marker of a censored node: the tombstone should only be
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
16 consulted when looking for a reason a node was censored or when revlog
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
17 flags are unavailable as mentioned above.
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
18
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
19 The tombstone data is a free-form string. It's expected that users of
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
20 censor will want to record the reason for censoring a node in the
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
21 tombstone. Censored nodes must be able to fit in the size of the
1b699a208cee internals: add some brief documentation about censor
Augie Fackler <augie@google.com>
parents:
diff changeset
22 content being censored.