[PATCH 1 of 2 phases] phases: Embryo of documention for the phase topic

pierre-yves.david at logilab.fr pierre-yves.david at logilab.fr
Tue Jan 10 12:46:45 CST 2012


# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at logilab.fr>
# Date 1326221047 -3600
# Node ID 9b6069f654f15658f9bd6101a2675208fa77d41b
# Parent  81c8a9bc7c0776543fee04e7ad7729daa6f2537d
phases: Embryo of documention for the phase topic

This a basic content taken from the mercurial/phase.py documentation. A more
exaustive and consistent is to be written later.

the main reason to create this first version is that several command an message
refer to it.

diff --git a/mercurial/help/phases.txt b/mercurial/help/phases.txt
new file mode 100644
--- /dev/null
+++ b/mercurial/help/phases.txt
@@ -0,0 +1,34 @@
+Basic Concept
+=============
+
+A 'changeset phases' is an indicator that tells us how a changeset is
+manipulated and communicated. The details of each phase is described below,
+here we describe the properties they have in common.
+
+Like bookmarks, phases are not stored in history and thus are not permanent and
+leave no audit trail.
+
+First, no changeset can be in two phases at once. Phases are ordered, so they
+can be considered from lowest to highest. The default, lowest phase is 'public'
+- this is the normal phase of existing changesets. A child changeset can not be
+in a lower phase than its parents.
+
+These phases share a hierarchy of traits:
+
+            immutable shared
+    public:     X        X
+    draft:               X
+    secret:
+
+local commits are draft by default
+
+Phase movement and exchange
+============================
+
+Phase data are exchanged by pushkey on pull and push. Some server have a
+publish option set, we call them publishing server. Pushing to such server make
+draft changeset publish.
+
+Note: old client behave as publish server with Draft only content
+- other people see it as public
+- content is pushed as draft


More information about the Mercurial-devel mailing list