##// END OF EJS Templates
help: add phases topic
Matt Mackall -
r15996:04554636 stable
parent child Browse files
Show More
@@ -0,0 +1,61 b''
1 What are phases?
2 ----------------
3
4 Phases are a system for tracking which changesets have been or should
5 be shared. This helps prevent common mistakes when modifying history
6 (for instance, with the mq or rebase extensions).
7
8 Each changeset in a repository is in one of the following phases:
9
10 - public : changeset is visible on a public server
11 - draft : changeset is not yet published
12 - secret : changeset should not be pushed, pulled, or cloned
13
14 These phases are ordered (public < draft < secret) and no changeset
15 can be in a lower phase than its ancestors. For instance, if a
16 changeset is public, all its ancestors are also public. Lastly,
17 changeset phases only be changed towards the public phase.
18
19 How are phases managed?
20 -----------------------
21
22 For the most part, phases should work transparently. By default, a
23 changeset is created in the draft phase and is moved into the public
24 phase when it is pushed to another repository.
25
26 Once changesets become public, extensions like mq and rebase will
27 refuse to operate on them to prevent creating duplicate changesets.
28 Phases can also be manually manipulated with the :hg:`phase` command
29 if needed. See :hg:`help -v phase` for examples.
30
31 Phases and servers
32 ------------------
33
34 Normally, all servers are ``publishing`` by default. This means::
35
36 - all draft changesets that are pulled or cloned appear in phase
37 public on the client
38
39 - all draft changesets that are pushed appear as public on both
40 client and server
41
42 - secret changesets are neither pushed, pulled, or cloned
43
44 .. note::
45 Pulling a draft changeset from a publishing server does not mark it
46 as public on the server side due to the read-only nature of pull.
47
48 Sometimes it may be desirable to push and pull changesets in the draft
49 phase to share unfinished work. This can be done by setting a
50 repository to disable publishing in its configuration file::
51
52 [phases]
53 publishing = False
54
55 See :hg:`help config` for more information on config files.
56
57 .. note::
58 Servers running older versions of Mercurial are treated as
59 publishing.
60
61 See :hg:`help phase` for information on manually manipulating phases.
@@ -73,6 +73,7 b' helptable = sorted(['
73 (["glossary"], _("Glossary"), loaddoc('glossary')),
73 (["glossary"], _("Glossary"), loaddoc('glossary')),
74 (["hgignore", "ignore"], _("syntax for Mercurial ignore files"),
74 (["hgignore", "ignore"], _("syntax for Mercurial ignore files"),
75 loaddoc('hgignore')),
75 loaddoc('hgignore')),
76 (["phases"], _("Working with Phases"), loaddoc('phases')),
76 ])
77 ])
77
78
78 # Map topics to lists of callable taking the current topic help and
79 # Map topics to lists of callable taking the current topic help and
@@ -347,6 +347,7 b' Testing -h/--help:'
347 merge-tools Merge Tools
347 merge-tools Merge Tools
348 multirevs Specifying Multiple Revisions
348 multirevs Specifying Multiple Revisions
349 patterns File Name Patterns
349 patterns File Name Patterns
350 phases Working with Phases
350 revisions Specifying Single Revisions
351 revisions Specifying Single Revisions
351 revsets Specifying Revision Sets
352 revsets Specifying Revision Sets
352 subrepos Subrepositories
353 subrepos Subrepositories
@@ -430,6 +431,7 b' Testing -h/--help:'
430 merge-tools Merge Tools
431 merge-tools Merge Tools
431 multirevs Specifying Multiple Revisions
432 multirevs Specifying Multiple Revisions
432 patterns File Name Patterns
433 patterns File Name Patterns
434 phases Working with Phases
433 revisions Specifying Single Revisions
435 revisions Specifying Single Revisions
434 revsets Specifying Revision Sets
436 revsets Specifying Revision Sets
435 subrepos Subrepositories
437 subrepos Subrepositories
@@ -119,6 +119,7 b' Short help:'
119 merge-tools Merge Tools
119 merge-tools Merge Tools
120 multirevs Specifying Multiple Revisions
120 multirevs Specifying Multiple Revisions
121 patterns File Name Patterns
121 patterns File Name Patterns
122 phases Working with Phases
122 revisions Specifying Single Revisions
123 revisions Specifying Single Revisions
123 revsets Specifying Revision Sets
124 revsets Specifying Revision Sets
124 subrepos Subrepositories
125 subrepos Subrepositories
@@ -196,6 +197,7 b' Short help:'
196 merge-tools Merge Tools
197 merge-tools Merge Tools
197 multirevs Specifying Multiple Revisions
198 multirevs Specifying Multiple Revisions
198 patterns File Name Patterns
199 patterns File Name Patterns
200 phases Working with Phases
199 revisions Specifying Single Revisions
201 revisions Specifying Single Revisions
200 revsets Specifying Revision Sets
202 revsets Specifying Revision Sets
201 subrepos Subrepositories
203 subrepos Subrepositories
@@ -691,6 +693,7 b' Test that default list of commands omits'
691 merge-tools Merge Tools
693 merge-tools Merge Tools
692 multirevs Specifying Multiple Revisions
694 multirevs Specifying Multiple Revisions
693 patterns File Name Patterns
695 patterns File Name Patterns
696 phases Working with Phases
694 revisions Specifying Single Revisions
697 revisions Specifying Single Revisions
695 revsets Specifying Revision Sets
698 revsets Specifying Revision Sets
696 subrepos Subrepositories
699 subrepos Subrepositories
General Comments 0
You need to be logged in to leave comments. Login now