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