-A 'changeset phase
s' is an indicator that tells us how a changeset is
+A 'changeset phase' 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.
local commits are draft by default
+ocal commits are draft by default
-Phase movement and exchange
+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.
+Phase data is exchanged by pushkey on pull and push. Some servers have a
+publish option set, we call such a server a "publishing server". Pushing a
+draft changeset to a publishing server changes the phase to public.
A small list of fact/rules define the exchange of phase:
* old client never changes server states
* pull never changes server states
-* publish and old server csets are seen as public by client
+* publish and old server changesets are seen as public by client
+* any secret changeset seen in another repository is lowered to at least draft
-* Any secret changeset seens in another repository is lowered to at least draft
-Here is the final table summing up the 49 possible usecase of phase exchange:
+Here is the final table summing up the 49 possible use cases of phase exchange:
- * X = not tracked (i
e: the old client or server has no internal way of
+ * X = not tracked (i the old client or server has no internal way of
"When a new client pushes a draft changeset (D) to a publishing server
where it's not present (N), it's marked public on both sides (P/P)."
-Note: old client behave as publish server with
Draft only content
+Note: old client behave as publish server with raft only content
- other people see it as public
- content is pushed as draft
def _filterunknown(ui, changelog, phaseroots):
"""remove unknown nodes from the phase boundary
- Nothing is lost as unknown nodes only hold data for their descendants
+ Nothing is lost as unknown nodes only hold data for their descendants
nodemap = changelog.nodemap # to filter unknown nodes
- """List phases root for seriali
sation over pushkey"""
+ """List phases root for serialiation over pushkey"""
for root in repo._phasecache.phaseroots[draft]: