tests/test-phases.t
author Pierre-Yves David <pierre-yves.david@logilab.fr>
Tue, 24 Apr 2012 16:32:44 +0200
branchstable
changeset 16535 39d1f83eb05d
parent 16097 8dc573a9c5e5
child 16622 e4451d7432fa
permissions -rw-r--r--
branchmap: server should not advertise secret changeset in branchmap (Issue3303) Discovery now use an overlay above branchmap to prune invisible "secret" changeset from branchmap. To minimise impact on the code during the code freeze, this is achieve by recomputing non-secret heads on the fly when any secret changeset exists. This is a computation heavy approach similar to the one used for visible heads. But few sever should contains secret changeset anyway. See comment in code for more robust approach. On local repo the wrapper is applied explicitly while the wire-protocol take care of wrapping branchmap call in a transparent way. This could be unified by the Peter Arrenbrecht and Sune Foldager proposal of a `peer` object. An inappropriate `(+i heads)` may still appear when pushing new changes on a repository with secret changeset. (see Issue3394 for details)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16013
2a1d97630f7f tests: don't use alias
Mads Kiilerich <mads@kiilerich.com>
parents: 15907
diff changeset
     1
  $ hglog() { hg log --template "{rev} {phaseidx} {desc}\n" $*; }
15694
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
     2
  $ mkcommit() {
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
     3
  >    echo "$1" > "$1"
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
     4
  >    hg add "$1"
15712
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
     5
  >    message="$1"
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
     6
  >    shift
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
     7
  >    hg ci -m "$message" $*
15694
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
     8
  > }
15423
ea5b346024e1 phases: add a very simple test
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     9
ea5b346024e1 phases: add a very simple test
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    10
  $ hg init initialrepo
ea5b346024e1 phases: add a very simple test
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    11
  $ cd initialrepo
15694
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    12
  $ mkcommit A
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    13
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    14
New commit are draft by default
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    15
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    16
  $ hglog
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    17
  0 1 A
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    18
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    19
Following commit are draft too
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    20
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    21
  $ mkcommit B
15423
ea5b346024e1 phases: add a very simple test
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    22
ea5b346024e1 phases: add a very simple test
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    23
  $ hglog
15694
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    24
  1 1 B
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    25
  0 1 A
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    26
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    27
Draft commit are properly created over public one:
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    28
15830
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
    29
  $ hg phase --public .
15694
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    30
  $ hglog
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    31
  1 0 B
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    32
  0 0 A
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    33
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    34
  $ mkcommit C
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    35
  $ mkcommit D
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    36
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    37
  $ hglog
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    38
  3 1 D
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    39
  2 1 C
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    40
  1 0 B
1e4e49c58b94 phases: add a bit more test for local phase movement.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
    41
  0 0 A
15712
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    42
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    43
Test creating changeset as secret
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    44
16030
308406677e9d phases: allow phase name in phases.new-commit settings
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16013
diff changeset
    45
  $ mkcommit E --config phases.new-commit='secret'
15712
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    46
  $ hglog
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    47
  4 2 E
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    48
  3 1 D
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    49
  2 1 C
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    50
  1 0 B
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    51
  0 0 A
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    52
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    53
Test the secret property is inherited
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    54
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    55
  $ mkcommit H
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    56
  $ hglog
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    57
  5 2 H
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    58
  4 2 E
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    59
  3 1 D
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    60
  2 1 C
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    61
  1 0 B
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    62
  0 0 A
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    63
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    64
Even on merge
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    65
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    66
  $ hg up -q 1
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    67
  $ mkcommit "B'"
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    68
  created new head
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    69
  $ hglog
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    70
  6 1 B'
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    71
  5 2 H
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    72
  4 2 E
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    73
  3 1 D
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    74
  2 1 C
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    75
  1 0 B
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    76
  0 0 A
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    77
  $ hg merge 4 # E
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    78
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    79
  (branch merge, don't forget to commit)
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    80
  $ hg ci -m "merge B' and E"
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    81
  $ hglog
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    82
  7 2 merge B' and E
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    83
  6 1 B'
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    84
  5 2 H
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    85
  4 2 E
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    86
  3 1 D
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    87
  2 1 C
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    88
  1 0 B
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    89
  0 0 A
06b8b74720d6 phases: test the new-commit option and proper inheritence of phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15694
diff changeset
    90
15713
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
    91
Test secret changeset are not pushed
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
    92
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
    93
  $ hg init ../push-dest
15820
2673006f7989 phases: fix phase synchronization on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15819
diff changeset
    94
  $ cat > ../push-dest/.hg/hgrc << EOF
2673006f7989 phases: fix phase synchronization on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15819
diff changeset
    95
  > [phases]
2673006f7989 phases: fix phase synchronization on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15819
diff changeset
    96
  > publish=False
2673006f7989 phases: fix phase synchronization on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15819
diff changeset
    97
  > EOF
15838
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
    98
  $ hg outgoing ../push-dest --template='{rev} {phase} {desc|firstline}\n'
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
    99
  comparing with ../push-dest
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   100
  searching for changes
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   101
  0 public A
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   102
  1 public B
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   103
  2 draft C
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   104
  3 draft D
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   105
  6 draft B'
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   106
  $ hg outgoing -r default ../push-dest --template='{rev} {phase} {desc|firstline}\n'
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   107
  comparing with ../push-dest
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   108
  searching for changes
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   109
  0 public A
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   110
  1 public B
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   111
  2 draft C
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   112
  3 draft D
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   113
  6 draft B'
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   114
15713
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   115
  $ hg push ../push-dest -f # force because we push multiple heads
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   116
  pushing to ../push-dest
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   117
  searching for changes
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   118
  adding changesets
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   119
  adding manifests
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   120
  adding file changes
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   121
  added 5 changesets with 5 changes to 5 files (+1 heads)
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   122
  $ hglog
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   123
  7 2 merge B' and E
15820
2673006f7989 phases: fix phase synchronization on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15819
diff changeset
   124
  6 1 B'
15713
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   125
  5 2 H
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   126
  4 2 E
15820
2673006f7989 phases: fix phase synchronization on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15819
diff changeset
   127
  3 1 D
2673006f7989 phases: fix phase synchronization on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15819
diff changeset
   128
  2 1 C
15713
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   129
  1 0 B
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   130
  0 0 A
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   131
  $ cd ../push-dest
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   132
  $ hglog
15820
2673006f7989 phases: fix phase synchronization on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15819
diff changeset
   133
  4 1 B'
2673006f7989 phases: fix phase synchronization on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15819
diff changeset
   134
  3 1 D
2673006f7989 phases: fix phase synchronization on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15819
diff changeset
   135
  2 1 C
15713
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   136
  1 0 B
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   137
  0 0 A
16535
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   138
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   139
(Issue3303)
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   140
Check that remote secret changeset are ignore when checking creation of remote heads
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   141
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   142
We add a secret head into the push destination.  This secreat head shadow a
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   143
visible shared between the initial repo and the push destination.
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   144
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   145
  $ hg up -q 4 # B'
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   146
  $ mkcommit Z --config phases.new-commit=secret
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   147
  $ hg phase .
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   148
  5: secret
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   149
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   150
# We now try to push a new public changeset that descend from the common public
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   151
# head shadowed by the remote secret head.
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   152
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   153
  $ cd ../initialrepo
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   154
  $ hg up -q 6 #B'
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   155
  $ mkcommit I
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   156
  created new head
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   157
  $ hg push ../push-dest
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   158
  pushing to ../push-dest
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   159
  searching for changes
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   160
  adding changesets
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   161
  adding manifests
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   162
  adding file changes
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   163
  added 1 changesets with 1 changes to 1 files (+1 heads)
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   164
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   165
:note: The "(+1 heads)" is wrong as we do not had any visible head
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   166
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   167
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   168
Restore condition prior extra insertion.
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   169
  $ hg -q --config extensions.mq= strip .
39d1f83eb05d branchmap: server should not advertise secret changeset in branchmap (Issue3303)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16097
diff changeset
   170
  $ hg up -q 7
15713
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   171
  $ cd ..
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   172
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   173
Test secret changeset are not pull
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   174
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   175
  $ hg init pull-dest
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   176
  $ cd pull-dest
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   177
  $ hg pull ../initialrepo
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   178
  pulling from ../initialrepo
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   179
  requesting all changes
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   180
  adding changesets
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   181
  adding manifests
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   182
  adding file changes
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   183
  added 5 changesets with 5 changes to 5 files (+1 heads)
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   184
  (run 'hg heads' to see heads, 'hg merge' to merge)
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   185
  $ hglog
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   186
  4 0 B'
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   187
  3 0 D
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   188
  2 0 C
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   189
  1 0 B
cff25e4b37d2 phases: do not exchange secret changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15712
diff changeset
   190
  0 0 A
15819
33ca11b010e2 phases: implements simple revset symbol
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15713
diff changeset
   191
  $ cd ..
33ca11b010e2 phases: implements simple revset symbol
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15713
diff changeset
   192
15838
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   193
But secret can still be bundled explicitly
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   194
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   195
  $ cd initialrepo
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   196
  $ hg bundle --base '4^' -r 'children(4)' ../secret-bundle.hg
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   197
  4 changesets found
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   198
  $ cd ..
7299e09a85a2 phases: make outgoing object and discovery aware of exclusion
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15830
diff changeset
   199
15888
2072e4031994 phases: exclude secret when doing a local clone
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15838
diff changeset
   200
Test secret changeset are not cloned
2072e4031994 phases: exclude secret when doing a local clone
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15838
diff changeset
   201
(during local clone)
2072e4031994 phases: exclude secret when doing a local clone
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15838
diff changeset
   202
2072e4031994 phases: exclude secret when doing a local clone
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15838
diff changeset
   203
  $ hg clone -qU initialrepo clone-dest
2072e4031994 phases: exclude secret when doing a local clone
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15838
diff changeset
   204
  $ hglog -R clone-dest
2072e4031994 phases: exclude secret when doing a local clone
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15838
diff changeset
   205
  4 0 B'
2072e4031994 phases: exclude secret when doing a local clone
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15838
diff changeset
   206
  3 0 D
2072e4031994 phases: exclude secret when doing a local clone
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15838
diff changeset
   207
  2 0 C
2072e4031994 phases: exclude secret when doing a local clone
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15838
diff changeset
   208
  1 0 B
2072e4031994 phases: exclude secret when doing a local clone
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15838
diff changeset
   209
  0 0 A
2072e4031994 phases: exclude secret when doing a local clone
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15838
diff changeset
   210
15819
33ca11b010e2 phases: implements simple revset symbol
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15713
diff changeset
   211
Test revset
33ca11b010e2 phases: implements simple revset symbol
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15713
diff changeset
   212
33ca11b010e2 phases: implements simple revset symbol
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15713
diff changeset
   213
  $ cd initialrepo
33ca11b010e2 phases: implements simple revset symbol
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15713
diff changeset
   214
  $ hglog -r 'public()'
33ca11b010e2 phases: implements simple revset symbol
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15713
diff changeset
   215
  0 0 A
33ca11b010e2 phases: implements simple revset symbol
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15713
diff changeset
   216
  1 0 B
33ca11b010e2 phases: implements simple revset symbol
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15713
diff changeset
   217
  $ hglog -r 'draft()'
15820
2673006f7989 phases: fix phase synchronization on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15819
diff changeset
   218
  2 1 C
2673006f7989 phases: fix phase synchronization on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15819
diff changeset
   219
  3 1 D
2673006f7989 phases: fix phase synchronization on push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15819
diff changeset
   220
  6 1 B'
15819
33ca11b010e2 phases: implements simple revset symbol
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15713
diff changeset
   221
  $ hglog -r 'secret()'
33ca11b010e2 phases: implements simple revset symbol
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15713
diff changeset
   222
  4 2 E
33ca11b010e2 phases: implements simple revset symbol
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15713
diff changeset
   223
  5 2 H
33ca11b010e2 phases: implements simple revset symbol
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15713
diff changeset
   224
  7 2 merge B' and E
15830
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   225
15907
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   226
test that phase are displayed in log at debug level
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   227
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   228
  $ hg log --debug
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   229
  changeset:   7:17a481b3bccb796c0521ae97903d81c52bfee4af
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   230
  tag:         tip
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   231
  phase:       secret
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   232
  parent:      6:cf9fe039dfd67e829edf6522a45de057b5c86519
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   233
  parent:      4:a603bfb5a83e312131cebcd05353c217d4d21dde
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   234
  manifest:    7:5e724ffacba267b2ab726c91fc8b650710deaaa8
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   235
  user:        test
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   236
  date:        Thu Jan 01 00:00:00 1970 +0000
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   237
  files+:      C D E
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   238
  extra:       branch=default
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   239
  description:
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   240
  merge B' and E
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   241
  
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   242
  
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   243
  changeset:   6:cf9fe039dfd67e829edf6522a45de057b5c86519
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   244
  phase:       draft
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   245
  parent:      1:27547f69f25460a52fff66ad004e58da7ad3fb56
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   246
  parent:      -1:0000000000000000000000000000000000000000
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   247
  manifest:    6:ab8bfef2392903058bf4ebb9e7746e8d7026b27a
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   248
  user:        test
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   249
  date:        Thu Jan 01 00:00:00 1970 +0000
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   250
  files+:      B'
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   251
  extra:       branch=default
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   252
  description:
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   253
  B'
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   254
  
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   255
  
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   256
  changeset:   5:a030c6be5127abc010fcbff1851536552e6951a8
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   257
  phase:       secret
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   258
  parent:      4:a603bfb5a83e312131cebcd05353c217d4d21dde
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   259
  parent:      -1:0000000000000000000000000000000000000000
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   260
  manifest:    5:5c710aa854874fe3d5fa7192e77bdb314cc08b5a
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   261
  user:        test
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   262
  date:        Thu Jan 01 00:00:00 1970 +0000
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   263
  files+:      H
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   264
  extra:       branch=default
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   265
  description:
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   266
  H
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   267
  
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   268
  
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   269
  changeset:   4:a603bfb5a83e312131cebcd05353c217d4d21dde
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   270
  phase:       secret
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   271
  parent:      3:b3325c91a4d916bcc4cdc83ea3fe4ece46a42f6e
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   272
  parent:      -1:0000000000000000000000000000000000000000
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   273
  manifest:    4:7173fd1c27119750b959e3a0f47ed78abe75d6dc
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   274
  user:        test
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   275
  date:        Thu Jan 01 00:00:00 1970 +0000
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   276
  files+:      E
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   277
  extra:       branch=default
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   278
  description:
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   279
  E
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   280
  
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   281
  
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   282
  changeset:   3:b3325c91a4d916bcc4cdc83ea3fe4ece46a42f6e
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   283
  phase:       draft
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   284
  parent:      2:f838bfaca5c7226600ebcfd84f3c3c13a28d3757
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   285
  parent:      -1:0000000000000000000000000000000000000000
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   286
  manifest:    3:6e1f4c47ecb533ffd0c8e52cdc88afb6cd39e20c
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   287
  user:        test
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   288
  date:        Thu Jan 01 00:00:00 1970 +0000
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   289
  files+:      D
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   290
  extra:       branch=default
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   291
  description:
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   292
  D
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   293
  
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   294
  
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   295
  changeset:   2:f838bfaca5c7226600ebcfd84f3c3c13a28d3757
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   296
  phase:       draft
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   297
  parent:      1:27547f69f25460a52fff66ad004e58da7ad3fb56
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   298
  parent:      -1:0000000000000000000000000000000000000000
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   299
  manifest:    2:66a5a01817fdf5239c273802b5b7618d051c89e4
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   300
  user:        test
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   301
  date:        Thu Jan 01 00:00:00 1970 +0000
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   302
  files+:      C
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   303
  extra:       branch=default
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   304
  description:
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   305
  C
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   306
  
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   307
  
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   308
  changeset:   1:27547f69f25460a52fff66ad004e58da7ad3fb56
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   309
  parent:      0:4a2df7238c3b48766b5e22fafbb8a2f506ec8256
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   310
  parent:      -1:0000000000000000000000000000000000000000
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   311
  manifest:    1:cb5cbbc1bfbf24cc34b9e8c16914e9caa2d2a7fd
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   312
  user:        test
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   313
  date:        Thu Jan 01 00:00:00 1970 +0000
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   314
  files+:      B
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   315
  extra:       branch=default
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   316
  description:
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   317
  B
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   318
  
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   319
  
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   320
  changeset:   0:4a2df7238c3b48766b5e22fafbb8a2f506ec8256
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   321
  parent:      -1:0000000000000000000000000000000000000000
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   322
  parent:      -1:0000000000000000000000000000000000000000
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   323
  manifest:    0:007d8c9d88841325f5c6b06371b35b4e8a2b1a83
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   324
  user:        test
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   325
  date:        Thu Jan 01 00:00:00 1970 +0000
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   326
  files+:      A
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   327
  extra:       branch=default
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   328
  description:
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   329
  A
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   330
  
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   331
  
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15888
diff changeset
   332
15830
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   333
Test phase command
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   334
===================
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   335
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   336
initial picture
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   337
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   338
  $ cat >> $HGRCPATH << EOF
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   339
  > [extensions]
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   340
  > hgext.graphlog=
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   341
  > EOF
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   342
  $ hg log -G --template "{rev} {phase} {desc}\n"
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   343
  @    7 secret merge B' and E
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   344
  |\
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   345
  | o  6 draft B'
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   346
  | |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   347
  +---o  5 secret H
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   348
  | |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   349
  o |  4 secret E
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   350
  | |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   351
  o |  3 draft D
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   352
  | |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   353
  o |  2 draft C
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   354
  |/
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   355
  o  1 public B
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   356
  |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   357
  o  0 public A
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   358
  
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   359
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   360
display changesets phase
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   361
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   362
(mixing -r and plain rev specification)
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   363
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   364
  $ hg phase 1::4 -r 7
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   365
  1: public
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   366
  2: draft
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   367
  3: draft
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   368
  4: secret
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   369
  7: secret
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   370
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   371
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   372
move changeset forward
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   373
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   374
(with -r option)
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   375
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   376
  $ hg phase --public -r 2
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   377
  $ hg log -G --template "{rev} {phase} {desc}\n"
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   378
  @    7 secret merge B' and E
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   379
  |\
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   380
  | o  6 draft B'
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   381
  | |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   382
  +---o  5 secret H
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   383
  | |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   384
  o |  4 secret E
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   385
  | |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   386
  o |  3 draft D
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   387
  | |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   388
  o |  2 public C
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   389
  |/
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   390
  o  1 public B
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   391
  |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   392
  o  0 public A
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   393
  
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   394
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   395
move changeset backward
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   396
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   397
(without -r option)
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   398
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   399
  $ hg phase --draft --force 2
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   400
  $ hg log -G --template "{rev} {phase} {desc}\n"
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   401
  @    7 secret merge B' and E
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   402
  |\
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   403
  | o  6 draft B'
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   404
  | |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   405
  +---o  5 secret H
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   406
  | |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   407
  o |  4 secret E
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   408
  | |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   409
  o |  3 draft D
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   410
  | |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   411
  o |  2 draft C
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   412
  |/
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   413
  o  1 public B
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   414
  |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   415
  o  0 public A
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   416
  
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   417
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   418
move changeset forward and backward
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   419
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   420
  $ hg phase --draft --force 1::4
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   421
  $ hg log -G --template "{rev} {phase} {desc}\n"
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   422
  @    7 secret merge B' and E
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   423
  |\
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   424
  | o  6 draft B'
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   425
  | |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   426
  +---o  5 secret H
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   427
  | |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   428
  o |  4 draft E
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   429
  | |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   430
  o |  3 draft D
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   431
  | |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   432
  o |  2 draft C
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   433
  |/
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   434
  o  1 draft B
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   435
  |
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   436
  o  0 public A
8ed112ed774a phases: add a phases command to display and manipulate phases
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15823
diff changeset
   437
  
16097
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   438
test partial failure
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   439
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   440
  $ hg phase --public 7
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   441
  $ hg phase --draft '5 or 7'
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   442
  cannot move 1 changesets to a more permissive phase, use --force
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   443
  phase changed for 1 changesets
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   444
  [1]
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   445
  $ hg log -G --template "{rev} {phase} {desc}\n"
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   446
  @    7 public merge B' and E
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   447
  |\
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   448
  | o  6 public B'
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   449
  | |
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   450
  +---o  5 draft H
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   451
  | |
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   452
  o |  4 public E
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   453
  | |
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   454
  o |  3 public D
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   455
  | |
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   456
  o |  2 public C
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   457
  |/
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   458
  o  1 public B
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   459
  |
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   460
  o  0 public A
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   461
  
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   462
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   463
test complete failure
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   464
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   465
  $ hg phase --draft 7
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   466
  cannot move 1 changesets to a more permissive phase, use --force
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   467
  no phases changed
8dc573a9c5e5 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu>
parents: 16030
diff changeset
   468
  [1]