tests/test-bundle-phases.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 15 Mar 2024 01:31:57 +0100
branchstable
changeset 51505 c9ceb4f60256
parent 50311 385a4f8056e5
permissions -rw-r--r--
phases: avoid N² behavior in `advanceboundary` We allowed duplicated entries in the deque, which each entry could potentially insert all its ancestors. So advancing boundary for the full repository would mean each revision would walk all its ancestors, resulting in O(N²) iteration. For repository of any decent size, N² is quickly insane. We introduce a simple set to avoid this and get back to reasonable performance.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     1
  $ cat >> $HGRCPATH <<EOF
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     2
  > [experimental]
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     3
  > bundle-phases=yes
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     4
  > [extensions]
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     5
  > strip=
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     6
  > drawdag=$TESTDIR/drawdag.py
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     7
  > EOF
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     8
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     9
Set up repo with linear history
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    10
  $ hg init linear
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    11
  $ cd linear
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    12
  $ hg debugdrawdag <<'EOF'
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    13
  > E
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    14
  > |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    15
  > D
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    16
  > |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    17
  > C
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    18
  > |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    19
  > B
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    20
  > |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    21
  > A
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    22
  > EOF
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    23
  $ hg phase --public A
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    24
  $ hg phase --force --secret D
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    25
  $ hg log -G -T '{desc} {phase}\n'
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    26
  o  E secret
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    27
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    28
  o  D secret
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    29
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    30
  o  C draft
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    31
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    32
  o  B draft
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    33
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    34
  o  A public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    35
  
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    36
  $ hg bundle --base B -r E bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    37
  3 changesets found
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    38
  $ hg debugbundle bundle
34025
626a28f30dbd debugcommands: stabilize output of debugbundle by having a custom repr
Augie Fackler <raf@durin42.com>
parents: 33558
diff changeset
    39
  Stream params: {Compression: BZ}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 36965
diff changeset
    40
  changegroup -- {nbchanges: 3, targetphase: 2, version: 02} (mandatory: True)
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    41
      26805aba1e600a82e93661149f2313866a221a7b
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    42
      f585351a92f85104bff7c284233c338b10eb1df7
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    43
      9bc730a19041f9ec7cb33c626e811aa233efb18c
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
    44
  cache:rev-branch-cache -- {} (mandatory: False)
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 36965
diff changeset
    45
  phase-heads -- {} (mandatory: True)
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    46
      26805aba1e600a82e93661149f2313866a221a7b draft
50311
385a4f8056e5 bundle: include required phases when saving a bundle (issue6794)
Jason R. Coombs <jaraco@jaraco.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50200
diff changeset
    47
      9bc730a19041f9ec7cb33c626e811aa233efb18c secret
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    48
  $ hg strip --no-backup C
50200
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    49
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    50
Phases show on incoming, and are also restored when pulling.  Secret commits
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    51
aren't incoming or pulled, following usual incoming/pull semantics.
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    52
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    53
  $ hg log -R bundle -r 'bundle()^+bundle()' -G -T '{desc} {phase}\n'
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    54
  o  E secret
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    55
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    56
  o  D secret
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    57
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    58
  o  C draft
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    59
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    60
  o  B draft
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    61
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    62
  ~
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    63
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    64
  $ hg incoming bundle -G -T '{desc} {phase}\n'
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    65
  comparing with bundle
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    66
  searching for changes
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    67
  o  C draft
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    68
  
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    69
  $ hg pull bundle
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    70
  pulling from bundle
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    71
  searching for changes
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    72
  adding changesets
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    73
  adding manifests
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    74
  adding file changes
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    75
  added 1 changesets with 1 changes to 1 files
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    76
  new changesets 26805aba1e60 (1 drafts)
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    77
  (run 'hg update' to get a working copy)
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    78
  $ hg log -G -T '{desc} {phase}\n'
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    79
  o  C draft
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    80
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    81
  o  B draft
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    82
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    83
  o  A public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    84
  
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    85
  $ hg log -R bundle -r 'bundle()^+bundle()' -G -T '{desc} {phase}\n'
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    86
  o  E secret
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    87
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    88
  o  D secret
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    89
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    90
  o  C draft
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    91
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    92
  o  B draft
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    93
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    94
  ~
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    95
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    96
  $ hg rollback --config ui.rollback=1
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    97
  repository tip rolled back to revision 1 (undo pull)
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    98
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
    99
Phases are restored when unbundling
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   100
  $ hg unbundle -q bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   101
  $ rm bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   102
  $ hg log -G -T '{desc} {phase}\n'
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   103
  o  E secret
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   104
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   105
  o  D secret
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   106
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   107
  o  C draft
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   108
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   109
  o  B draft
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   110
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   111
  o  A public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   112
  
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   113
Root revision's phase is preserved
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   114
  $ hg bundle -a bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   115
  5 changesets found
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   116
  $ hg strip --no-backup A
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   117
  $ hg unbundle -q bundle
50200
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   118
  $ hg log -G -T '{desc} {phase}\n'
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   119
  o  E secret
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   120
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   121
  o  D secret
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   122
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   123
  o  C draft
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   124
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   125
  o  B draft
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   126
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   127
  o  A public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   128
  
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   129
  $ hg init empty
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   130
  $ hg -R empty pull bundle
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   131
  pulling from bundle
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   132
  requesting all changes
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   133
  adding changesets
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   134
  adding manifests
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   135
  adding file changes
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   136
  added 3 changesets with 3 changes to 3 files
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   137
  new changesets 426bada5c675:26805aba1e60 (2 drafts)
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   138
  (run 'hg update' to get a working copy)
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   139
  $ hg log -G -T '{desc} {phase}\n'
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   140
  o  E secret
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   141
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   142
  o  D secret
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   143
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   144
  o  C draft
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   145
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   146
  o  B draft
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   147
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   148
  o  A public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   149
  
50200
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   150
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   151
Public repo commits take precedence over phases in the bundle
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   152
  $ hg phase --public E
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   153
  $ hg incoming bundle -G -T '{desc} {phase}\n'
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   154
  comparing with bundle
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   155
  searching for changes
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   156
  no changes found
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   157
  $ hg log -R bundle -r 'bundle()^+bundle()' -G -T '{desc} {phase}\n'
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   158
  o  E public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   159
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   160
  o  D public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   161
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   162
  o  C public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   163
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   164
  o  B public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   165
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   166
  o  A public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   167
  
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   168
  $ hg pull bundle
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   169
  pulling from bundle
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   170
  searching for changes
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   171
  no changes found
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   172
  $ hg log -G -T '{desc} {phase}\n'
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   173
  o  E public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   174
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   175
  o  D public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   176
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   177
  o  C public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   178
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   179
  o  B public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   180
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   181
  o  A public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   182
  
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   183
  $ rm bundle
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   184
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   185
A bundle with public phases that are not public in the repo will show as public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   186
with `hg log`, but will remain not public in the plain repo.
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   187
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   188
  $ hg bundle --base B -r E bundle
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   189
  3 changesets found
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   190
  $ hg phase --force --draft -r C
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   191
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   192
  $ hg log -R bundle -G -T '{desc} {phase}\n'
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   193
  o  E public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   194
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   195
  o  D public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   196
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   197
  o  C public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   198
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   199
  o  B public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   200
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   201
  o  A public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   202
  
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   203
  $ hg log -G -T '{desc} {phase}\n'
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   204
  o  E draft
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   205
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   206
  o  D draft
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   207
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   208
  o  C draft
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   209
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   210
  o  B public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   211
  |
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   212
  o  A public
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   213
  
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   214
  $ hg phase --public -r E
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   215
  $ rm bundle
197204dba8a2 bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
Matt Harbison <matt_harbison@yahoo.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 37842
diff changeset
   216
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   217
Completely public history can be restored
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   218
  $ hg bundle -a bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   219
  5 changesets found
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   220
  $ hg strip --no-backup A
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   221
  $ hg unbundle -q bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   222
  $ rm bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   223
  $ hg log -G -T '{desc} {phase}\n'
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   224
  o  E public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   225
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   226
  o  D public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   227
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   228
  o  C public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   229
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   230
  o  B public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   231
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   232
  o  A public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   233
  
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   234
Direct transition from public to secret can be restored
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   235
  $ hg phase --secret --force D
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   236
  $ hg bundle -a bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   237
  5 changesets found
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   238
  $ hg strip --no-backup A
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   239
  $ hg unbundle -q bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   240
  $ rm bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   241
  $ hg log -G -T '{desc} {phase}\n'
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   242
  o  E secret
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   243
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   244
  o  D secret
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   245
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   246
  o  C public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   247
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   248
  o  B public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   249
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   250
  o  A public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   251
  
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   252
Revisions within bundle preserve their phase even if parent changes its phase
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   253
  $ hg phase --draft --force B
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   254
  $ hg bundle --base B -r E bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   255
  3 changesets found
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   256
  $ hg strip --no-backup C
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   257
  $ hg phase --public B
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   258
  $ hg unbundle -q bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   259
  $ rm bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   260
  $ hg log -G -T '{desc} {phase}\n'
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   261
  o  E secret
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   262
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   263
  o  D secret
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   264
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   265
  o  C draft
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   266
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   267
  o  B public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   268
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   269
  o  A public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   270
  
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   271
Phase of ancestors of stripped node get advanced to accommodate child
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   272
  $ hg bundle --base B -r E bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   273
  3 changesets found
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   274
  $ hg strip --no-backup C
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   275
  $ hg phase --force --secret B
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   276
  $ hg unbundle -q bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   277
  $ rm bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   278
  $ hg log -G -T '{desc} {phase}\n'
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   279
  o  E secret
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   280
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   281
  o  D secret
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   282
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   283
  o  C draft
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   284
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   285
  o  B draft
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   286
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   287
  o  A public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   288
  
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   289
Unbundling advances phases of changesets even if they were already in the repo.
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   290
To test that, create a bundle of everything in draft phase and then unbundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   291
to see that secret becomes draft, but public remains public.
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   292
  $ hg phase --draft --force A
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   293
  $ hg phase --draft E
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   294
  $ hg bundle -a bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   295
  5 changesets found
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   296
  $ hg phase --public A
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   297
  $ hg phase --secret --force E
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   298
  $ hg unbundle -q bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   299
  $ rm bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   300
  $ hg log -G -T '{desc} {phase}\n'
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   301
  o  E draft
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   302
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   303
  o  D draft
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   304
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   305
  o  C draft
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   306
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   307
  o  B draft
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   308
  |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   309
  o  A public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   310
  
33032
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   311
Unbundling change in the middle of a stack does not affect later changes
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   312
  $ hg strip --no-backup E
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   313
  $ hg phase --secret --force D
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   314
  $ hg log -G -T '{desc} {phase}\n'
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   315
  o  D secret
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   316
  |
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   317
  o  C draft
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   318
  |
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   319
  o  B draft
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   320
  |
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   321
  o  A public
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   322
  
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   323
  $ hg bundle --base A -r B bundle
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   324
  1 changesets found
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   325
  $ hg unbundle -q bundle
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   326
  $ rm bundle
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   327
  $ hg log -G -T '{desc} {phase}\n'
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   328
  o  D secret
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   329
  |
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   330
  o  C draft
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   331
  |
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   332
  o  B draft
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   333
  |
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   334
  o  A public
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   335
  
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 33031
diff changeset
   336
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   337
  $ cd ..
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   338
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   339
Set up repo with non-linear history
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   340
  $ hg init non-linear
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   341
  $ cd non-linear
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   342
  $ hg debugdrawdag <<'EOF'
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   343
  > D E
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   344
  > |\|
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   345
  > B C
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   346
  > |/
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   347
  > A
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   348
  > EOF
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   349
  $ hg phase --public C
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   350
  $ hg phase --force --secret B
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   351
  $ hg log -G -T '{node|short} {desc} {phase}\n'
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   352
  o  03ca77807e91 E draft
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   353
  |
33558
0103e7187237 drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents: 33408
diff changeset
   354
  | o  4e4f9194f9f1 D secret
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   355
  |/|
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   356
  o |  dc0947a82db8 C public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   357
  | |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   358
  | o  112478962961 B secret
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   359
  |/
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   360
  o  426bada5c675 A public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   361
  
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   362
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   363
Restore bundle of entire repo
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   364
  $ hg bundle -a bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   365
  5 changesets found
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   366
  $ hg debugbundle bundle
34025
626a28f30dbd debugcommands: stabilize output of debugbundle by having a custom repr
Augie Fackler <raf@durin42.com>
parents: 33558
diff changeset
   367
  Stream params: {Compression: BZ}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 36965
diff changeset
   368
  changegroup -- {nbchanges: 5, targetphase: 2, version: 02} (mandatory: True)
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   369
      426bada5c67598ca65036d57d9e4b64b0c1ce7a0
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   370
      112478962961147124edd43549aedd1a335e44bf
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   371
      dc0947a82db884575bb76ea10ac97b08536bfa03
33558
0103e7187237 drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents: 33408
diff changeset
   372
      4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   373
      03ca77807e919db8807c3749086dc36fb478cac0
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
   374
  cache:rev-branch-cache -- {} (mandatory: False)
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 36965
diff changeset
   375
  phase-heads -- {} (mandatory: True)
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   376
      dc0947a82db884575bb76ea10ac97b08536bfa03 public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   377
      03ca77807e919db8807c3749086dc36fb478cac0 draft
50311
385a4f8056e5 bundle: include required phases when saving a bundle (issue6794)
Jason R. Coombs <jaraco@jaraco.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50200
diff changeset
   378
      4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4 secret
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   379
  $ hg strip --no-backup A
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   380
  $ hg unbundle -q bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   381
  $ rm bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   382
  $ hg log -G -T '{node|short} {desc} {phase}\n'
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   383
  o  03ca77807e91 E draft
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   384
  |
33558
0103e7187237 drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents: 33408
diff changeset
   385
  | o  4e4f9194f9f1 D secret
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   386
  |/|
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   387
  o |  dc0947a82db8 C public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   388
  | |
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   389
  | o  112478962961 B secret
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   390
  |/
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   391
  o  426bada5c675 A public
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   392
  
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   393
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   394
  $ hg bundle --base 'A + C' -r D bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   395
  2 changesets found
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   396
  $ hg debugbundle bundle
34025
626a28f30dbd debugcommands: stabilize output of debugbundle by having a custom repr
Augie Fackler <raf@durin42.com>
parents: 33558
diff changeset
   397
  Stream params: {Compression: BZ}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 36965
diff changeset
   398
  changegroup -- {nbchanges: 2, targetphase: 2, version: 02} (mandatory: True)
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   399
      112478962961147124edd43549aedd1a335e44bf
33558
0103e7187237 drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents: 33408
diff changeset
   400
      4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
   401
  cache:rev-branch-cache -- {} (mandatory: False)
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 36965
diff changeset
   402
  phase-heads -- {} (mandatory: True)
50311
385a4f8056e5 bundle: include required phases when saving a bundle (issue6794)
Jason R. Coombs <jaraco@jaraco.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50200
diff changeset
   403
      4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4 secret
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   404
  $ rm bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   405
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   406
  $ hg bundle --base A -r D bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   407
  3 changesets found
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   408
  $ hg debugbundle bundle
34025
626a28f30dbd debugcommands: stabilize output of debugbundle by having a custom repr
Augie Fackler <raf@durin42.com>
parents: 33558
diff changeset
   409
  Stream params: {Compression: BZ}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 36965
diff changeset
   410
  changegroup -- {nbchanges: 3, targetphase: 2, version: 02} (mandatory: True)
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   411
      112478962961147124edd43549aedd1a335e44bf
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   412
      dc0947a82db884575bb76ea10ac97b08536bfa03
33558
0103e7187237 drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents: 33408
diff changeset
   413
      4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
   414
  cache:rev-branch-cache -- {} (mandatory: False)
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 36965
diff changeset
   415
  phase-heads -- {} (mandatory: True)
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   416
      dc0947a82db884575bb76ea10ac97b08536bfa03 public
50311
385a4f8056e5 bundle: include required phases when saving a bundle (issue6794)
Jason R. Coombs <jaraco@jaraco.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50200
diff changeset
   417
      4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4 secret
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   418
  $ rm bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   419
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   420
  $ hg bundle --base 'B + C' -r 'D + E' bundle
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   421
  2 changesets found
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   422
  $ hg debugbundle bundle
34025
626a28f30dbd debugcommands: stabilize output of debugbundle by having a custom repr
Augie Fackler <raf@durin42.com>
parents: 33558
diff changeset
   423
  Stream params: {Compression: BZ}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 36965
diff changeset
   424
  changegroup -- {nbchanges: 2, targetphase: 2, version: 02} (mandatory: True)
33558
0103e7187237 drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents: 33408
diff changeset
   425
      4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   426
      03ca77807e919db8807c3749086dc36fb478cac0
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
   427
  cache:rev-branch-cache -- {} (mandatory: False)
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 36965
diff changeset
   428
  phase-heads -- {} (mandatory: True)
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   429
      03ca77807e919db8807c3749086dc36fb478cac0 draft
50311
385a4f8056e5 bundle: include required phases when saving a bundle (issue6794)
Jason R. Coombs <jaraco@jaraco.com>, Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50200
diff changeset
   430
      4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4 secret
33031
e8c8d81eb864 bundle: add config option to include phases
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   431
  $ rm bundle