tests/test-phases-exchange.t
author Pierre-Yves David <pierre-yves.david@logilab.fr>
Thu, 15 Dec 2011 11:57:33 +0100
changeset 15646 218ec96c45d7
parent 15486 1eefa4451c56
child 15647 ce193147f492
permissions -rw-r--r--
phases: add a phases.publish option What is a "publishing repository"? ================================== Setting a repository as "publishing" alter its behavior **when used as a server**: all changesets are **seen** as public changesets by clients. So, pushing to a "publishing" repository is the most common way to make changesets public: pushed changesets are seen as public on the remote side and marked as such on local side. Note: the "publishing" property have no effects for local operations. Old repository are publishing ============================= Phase is the first step of a series of features aiming at handling mutable history within mercurial. Old client do not support such feature and are unable to hold phase data. The safest solution is to consider as public any changeset going through an old client. Moreover, most hosting solution will not support phase from the beginning. Having old clients seen as public repositories will not change their usage: public repositories where you push *immutable* public changesets *shared* with others. Why is "publishing" the default? ================================ We discussed above that any changeset from a non-phase aware repository should be seen as public. This means that in the following scenario, X is pulled as public:: ~/A$ old-hg init ~/A$ echo 'babar' > jungle ~/A$ old-hg commit -mA 'X' ~/A$ cd ../B ~/B$ new-hg pull ../A # let's pretend A is served by old-hg ~/B$ new-hg log -r tip summary: X phase: public We want to keep this behavior while creating/serving the A repository with ``new-hg``. Although committing with any ``new-hg`` creates a draft changeset. To stay backward compatible, the pull must see the new commit as public. Non-publishing server will advertise them as draft. Having publishing repository the default is thus necessary to ensure this backward compatibility. This default value can also be expressed with the following sentence: "By default, without any configuration, everything you exchange with the outside is immutable.". This behaviour seems sane. Why allow draft changeset in publishing repository ===================================================== Note: The publish option is aimed at controlling the behavior of *server*. Changeset in any state on a publishing server will **always*** be seen as public by other client. "Passive" repository which are only used as server for pull and push operation are not "affected" by this section. As in the choice for default, the main reason to allow draft changeset in publishing server is backward compatibility. With an old client, the following scenario is valid:: ~/A$ old-hg init ~/A$ echo 'babar' > jungle ~/A$ old-hg commit -mA 'X' ~/A$ old-hg qimport -r . # or any other mutable operation on X If the default is publishing and new commits in such repository are "public" The following operation will be denied as X will be an **immutable** public changeset. However as other clients see X as public, any pull//push (or event pull//pull) will mark X as public in repo A. Allowing enforcement of public changeset only repository through config is probably something to do. This could be done with another "strict" option or a third value config for phase related option (mode=public, publishing(default), mutable)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15484
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     1
  $ cat >> $HGRCPATH <<EOF
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     2
  > [extensions]
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     3
  > graphlog=
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     4
  > EOF
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     5
  $ alias hgph='hg log --template "{rev} {phase} {desc}\n"'
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     6
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     7
  $ mkcommit() {
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     8
  >    echo "$1" > "$1"
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     9
  >    hg add "$1"
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    10
  >    hg ci -m "$1"
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    11
  > }
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    12
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    13
  $ hg init alpha
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    14
  $ cd alpha
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    15
  $ mkcommit a-A
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    16
  $ mkcommit a-B
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    17
  $ mkcommit a-C
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    18
  $ mkcommit a-D
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    19
  $ hgph
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    20
  3 1 a-D
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    21
  2 1 a-C
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    22
  1 1 a-B
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    23
  0 1 a-A
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    24
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    25
  $ hg init ../beta
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    26
  $ hg push -r 1 ../beta
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    27
  pushing to ../beta
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    28
  searching for changes
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    29
  adding changesets
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    30
  adding manifests
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    31
  adding file changes
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    32
  added 2 changesets with 2 changes to 2 files
15485
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    33
  $ hgph
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    34
  3 1 a-D
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    35
  2 1 a-C
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    36
  1 0 a-B
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    37
  0 0 a-A
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    38
15484
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    39
  $ cd ../beta
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    40
  $ hgph
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    41
  1 0 a-B
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    42
  0 0 a-A
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    43
  $ hg up -q
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    44
  $ mkcommit b-A
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    45
  $ hgph
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    46
  2 1 b-A
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    47
  1 0 a-B
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    48
  0 0 a-A
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    49
  $ hg pull ../alpha
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    50
  pulling from ../alpha
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    51
  searching for changes
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    52
  adding changesets
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    53
  adding manifests
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    54
  adding file changes
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    55
  added 2 changesets with 2 changes to 2 files (+1 heads)
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    56
  (run 'hg heads' to see heads, 'hg merge' to merge)
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    57
  $ hgph
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    58
  4 0 a-D
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    59
  3 0 a-C
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    60
  2 1 b-A
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    61
  1 0 a-B
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    62
  0 0 a-A
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    63
15485
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    64
pull did not updated ../alpha state.
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    65
push from alpha to beta should update phase even if nothing is transfered
15484
a44446ff9ad8 phases: marked content of a changegroup as published
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    66
15485
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    67
  $ cd ../alpha
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    68
  $ hgph # not updated by remote pull
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    69
  3 1 a-D
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    70
  2 1 a-C
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    71
  1 0 a-B
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    72
  0 0 a-A
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    73
  $ hg push ../beta
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    74
  pushing to ../beta
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    75
  searching for changes
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    76
  no changes found
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    77
  $ hgph
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    78
  3 0 a-D
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    79
  2 0 a-C
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    80
  1 0 a-B
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    81
  0 0 a-A
fa47291b3f1f phases: mark content pushed as public in local repo on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15484
diff changeset
    82
15486
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    83
update must update phase of common changeset too
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    84
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    85
  $ hg pull ../beta # getting b-A
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    86
  pulling from ../beta
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    87
  searching for changes
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    88
  adding changesets
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    89
  adding manifests
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    90
  adding file changes
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    91
  added 1 changesets with 1 changes to 1 files (+1 heads)
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    92
  (run 'hg heads' to see heads, 'hg merge' to merge)
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    93
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    94
  $ cd ../beta
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    95
  $ hgph # not updated by remote pull
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    96
  4 0 a-D
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    97
  3 0 a-C
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    98
  2 1 b-A
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
    99
  1 0 a-B
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
   100
  0 0 a-A
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
   101
  $ hg pull ../alpha
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
   102
  pulling from ../alpha
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
   103
  searching for changes
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
   104
  no changes found
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
   105
  $ hgph
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
   106
  4 0 a-D
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
   107
  3 0 a-C
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
   108
  2 0 b-A
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
   109
  1 0 a-B
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
   110
  0 0 a-A
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
   111
15646
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   112
Publish configuration option
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   113
----------------------------
15486
1eefa4451c56 phases: set common changeset to public on pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15485
diff changeset
   114
15646
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   115
changegroup are added without phase movement
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   116
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   117
  $ hg bundle -a ../base.bundle
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   118
  5 changesets found
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   119
  $ cd ..
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   120
  $ hg init mu
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   121
  $ cd mu
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   122
  $ cat > .hg/hgrc << EOF
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   123
  > [phases]
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   124
  > publish=0
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   125
  > EOF
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   126
  $ hg unbundle ../base.bundle
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   127
  adding changesets
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   128
  adding manifests
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   129
  adding file changes
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   130
  added 5 changesets with 5 changes to 5 files (+1 heads)
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   131
  (run 'hg heads' to see heads, 'hg merge' to merge)
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   132
  $ hgph
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   133
  4 1 a-D
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   134
  3 1 a-C
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   135
  2 1 b-A
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   136
  1 1 a-B
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   137
  0 1 a-A
218ec96c45d7 phases: add a phases.publish option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15486
diff changeset
   138