tests/test-obsolete-divergent.t
author Gregory Szorc <gregory.szorc@gmail.com>
Mon, 24 Sep 2018 11:16:33 -0700
changeset 39873 2ac4f3e97813
parent 38445 afa96dd5a483
child 42893 34a46d48d24e
permissions -rw-r--r--
filelog: stop proxying flags() (API) Per-revision storage flags are kinda a revlog-centric API. (Except for the fact that changegroup uses the same integer flags as revlog does and there's minimal verification that the server's flags map to the client's storage flags - but that's another problem.) The last user of flags() was in verify.py and that code was just moved into revlog.py and is accessed behind the verifyintegrity() file storage API. Since there are no more consumers, let's drop the proxy and remove the method from the file storage interface. This commit only drops the dedicated API for reading a single revision's storage flags: we still support reading and writing flags through the bulk data retrieval and add revision APIs. And since changegroups encode revlog integer flags over the wire, we'll always need to support flags at some level. The removal of individual storage flags may be too premature. But since flags() is now unused, I'd like to see how far we can get without that dedicated API - especially since it uses revision numbers instead of nodes. Differential Revision: https://phab.mercurial-scm.org/D4746
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     1
Test file dedicated to testing the divergent troubles from obsolete changeset.
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     2
18644
3e92772d5383 spelling: fix some minor issues found by spell checker
Mads Kiilerich <mads@kiilerich.com>
parents: 18382
diff changeset
     3
This is the most complex troubles from far so we isolate it in a dedicated
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     4
file.
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     5
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     6
Enable obsolete
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     7
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     8
  $ cat >> $HGRCPATH << EOF
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     9
  > [ui]
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34286
diff changeset
    10
  > logtemplate = {rev}:{node|short} {desc}{if(obsfate, " [{join(obsfate, "; ")}]")}\n
22955
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 21789
diff changeset
    11
  > [experimental]
34866
1644623ab096 config: use 'experimental.evolution.create-markers'
Boris Feld <boris.feld@octobus.net>
parents: 34851
diff changeset
    12
  > evolution.createmarkers=True
33330
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
    13
  > [extensions]
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
    14
  > drawdag=$TESTDIR/drawdag.py
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    15
  > [alias]
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    16
  > debugobsolete = debugobsolete -d '0 0'
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    17
  > [phases]
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    18
  > publish=False
37706
04b89360913c tests: split long templates that use {whyunstable} and put them in hgrc
Anton Shestakov <av6@dwimlabs.net>
parents: 37705
diff changeset
    19
  > [templates]
37707
24fee31fda05 templates: adjust white space amount in the output of {whyunstable}
Anton Shestakov <av6@dwimlabs.net>
parents: 37706
diff changeset
    20
  > wuentryshort = '{instability}:{if(divergentnodes, " ")}{divergentnodes} {reason} {node|shortest}\n'
37706
04b89360913c tests: split long templates that use {whyunstable} and put them in hgrc
Anton Shestakov <av6@dwimlabs.net>
parents: 37705
diff changeset
    21
  > whyunstableshort = '{whyunstable % wuentryshort}'
04b89360913c tests: split long templates that use {whyunstable} and put them in hgrc
Anton Shestakov <av6@dwimlabs.net>
parents: 37705
diff changeset
    22
  > wuentryshorter = '{instability}:{divergentnodes % " {node|shortest} ({phase})"} {reason} {node|shortest}\n'
04b89360913c tests: split long templates that use {whyunstable} and put them in hgrc
Anton Shestakov <av6@dwimlabs.net>
parents: 37705
diff changeset
    23
  > whyunstableshorter = '{whyunstable % wuentryshorter}'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    24
  > EOF
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    25
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    26
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    27
  $ mkcommit() {
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    28
  >    echo "$1" > "$1"
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    29
  >    hg add "$1"
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    30
  >    hg ci -m "$1"
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    31
  > }
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    32
  $ getid() {
21789
15baed3f24ee branchmap: don't use ui.warn for debug message
Matt Mackall <mpm@selenic.com>
parents: 21024
diff changeset
    33
  >    hg log --hidden -r "desc('$1')" -T '{node}\n'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    34
  > }
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    35
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    36
setup repo
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    37
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    38
  $ hg init reference
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    39
  $ cd reference
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    40
  $ mkcommit base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    41
  $ mkcommit A_0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    42
  $ hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    43
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    44
  $ mkcommit A_1
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    45
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    46
  $ hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    47
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    48
  $ mkcommit A_2
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    49
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    50
  $ hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    51
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    52
  $ cd ..
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    53
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    54
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    55
  $ newcase() {
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    56
  >    hg clone -u 0 -q reference $1
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    57
  >    cd $1
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    58
  > }
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    59
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    60
direct divergence
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    61
-----------------
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    62
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    63
A_1 have two direct and divergent successors A_1 and A_1
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    64
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    65
  $ newcase direct
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    66
  $ hg debugobsolete `getid A_0` `getid A_1`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
    67
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    68
  $ hg debugobsolete `getid A_0` `getid A_2`
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35508
diff changeset
    69
  2 new content-divergent changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    70
  $ hg log -G --hidden
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 34961
diff changeset
    71
  *  3:392fd25390da A_2
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    72
  |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 34961
diff changeset
    73
  | *  2:82623d38b9ba A_1
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    74
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
    75
  | x  1:007dc284c1f8 A_0 [rewritten as 2:82623d38b9ba; rewritten as 3:392fd25390da]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    76
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    77
  @  0:d20a80d4def3 base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    78
  
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
    79
  $ hg debugsuccessorssets --hidden 'all()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    80
  d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    81
      d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    82
  007dc284c1f8
18365
4148414da120 obsolete: process markers in a stable order
Mads Kiilerich <mads@kiilerich.com>
parents: 18267
diff changeset
    83
      82623d38b9ba
18069
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
    84
      392fd25390da
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    85
  82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    86
      82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    87
  392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    88
      392fd25390da
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
    89
  $ hg log -r 'contentdivergent()'
18071
bea754715961 obsolete: add revset and test for divergent changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18069
diff changeset
    90
  2:82623d38b9ba A_1
bea754715961 obsolete: add revset and test for divergent changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18069
diff changeset
    91
  3:392fd25390da A_2
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    92
  $ hg debugsuccessorssets 'all()' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    93
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    94
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    95
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    96
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    97
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    98
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    99
  $ hg debugsuccessorssets 'all()' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   100
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   101
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   102
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   103
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   104
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   105
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   106
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   107
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   108
      392fd25390da
18073
e411fd79ca69 obsolete: refuse to push divergent changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18071
diff changeset
   109
e411fd79ca69 obsolete: refuse to push divergent changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18071
diff changeset
   110
check that mercurial refuse to push
e411fd79ca69 obsolete: refuse to push divergent changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18071
diff changeset
   111
e411fd79ca69 obsolete: refuse to push divergent changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18071
diff changeset
   112
  $ hg init ../other
e411fd79ca69 obsolete: refuse to push divergent changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18071
diff changeset
   113
  $ hg push ../other
e411fd79ca69 obsolete: refuse to push divergent changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18071
diff changeset
   114
  pushing to ../other
e411fd79ca69 obsolete: refuse to push divergent changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18071
diff changeset
   115
  searching for changes
33688
2194a8723138 evolution: rename divergent to content-divergent
Boris Feld <boris.feld@octobus.net>
parents: 33542
diff changeset
   116
  abort: push includes content-divergent changeset: 392fd25390da!
18073
e411fd79ca69 obsolete: refuse to push divergent changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18071
diff changeset
   117
  [255]
e411fd79ca69 obsolete: refuse to push divergent changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18071
diff changeset
   118
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   119
  $ cd ..
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   120
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   121
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   122
indirect divergence with known changeset
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   123
-------------------------------------------
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   124
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   125
  $ newcase indirect_known
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   126
  $ hg debugobsolete `getid A_0` `getid A_1`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   127
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   128
  $ hg debugobsolete `getid A_0` `getid A_2`
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35508
diff changeset
   129
  2 new content-divergent changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   130
  $ mkcommit A_3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   131
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   132
  $ hg debugobsolete `getid A_2` `getid A_3`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   133
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   134
  $ hg log -G --hidden
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   135
  @  4:01f36c5a8fda A_3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   136
  |
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   137
  | x  3:392fd25390da A_2 [rewritten as 4:01f36c5a8fda]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   138
  |/
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 34961
diff changeset
   139
  | *  2:82623d38b9ba A_1
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   140
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   141
  | x  1:007dc284c1f8 A_0 [rewritten as 2:82623d38b9ba; rewritten as 3:392fd25390da]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   142
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   143
  o  0:d20a80d4def3 base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   144
  
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   145
  $ hg debugsuccessorssets --hidden 'all()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   146
  d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   147
      d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   148
  007dc284c1f8
18365
4148414da120 obsolete: process markers in a stable order
Mads Kiilerich <mads@kiilerich.com>
parents: 18267
diff changeset
   149
      82623d38b9ba
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   150
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   151
  82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   152
      82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   153
  392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   154
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   155
  01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   156
      01f36c5a8fda
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
   157
  $ hg log -r 'contentdivergent()'
18071
bea754715961 obsolete: add revset and test for divergent changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18069
diff changeset
   158
  2:82623d38b9ba A_1
bea754715961 obsolete: add revset and test for divergent changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18069
diff changeset
   159
  4:01f36c5a8fda A_3
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   160
  $ hg debugsuccessorssets 'all()' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   161
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   162
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   163
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   164
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   165
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   166
      01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   167
  $ hg debugsuccessorssets 'all()' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   168
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   169
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   170
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   171
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   172
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   173
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   174
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   175
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   176
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   177
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   178
      01f36c5a8fda
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   179
  $ cd ..
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   180
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   181
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   182
indirect divergence with known changeset
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   183
-------------------------------------------
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   184
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   185
  $ newcase indirect_unknown
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   186
  $ hg debugobsolete `getid A_0` aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   187
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   188
  $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid A_1`
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   189
  $ hg debugobsolete `getid A_0` `getid A_2`
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35508
diff changeset
   190
  2 new content-divergent changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   191
  $ hg log -G --hidden
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 34961
diff changeset
   192
  *  3:392fd25390da A_2
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   193
  |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 34961
diff changeset
   194
  | *  2:82623d38b9ba A_1
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   195
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   196
  | x  1:007dc284c1f8 A_0 [rewritten as 2:82623d38b9ba; rewritten as 3:392fd25390da]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   197
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   198
  @  0:d20a80d4def3 base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   199
  
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   200
  $ hg debugsuccessorssets --hidden 'all()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   201
  d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   202
      d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   203
  007dc284c1f8
18365
4148414da120 obsolete: process markers in a stable order
Mads Kiilerich <mads@kiilerich.com>
parents: 18267
diff changeset
   204
      82623d38b9ba
18069
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   205
      392fd25390da
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   206
  82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   207
      82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   208
  392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   209
      392fd25390da
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
   210
  $ hg log -r 'contentdivergent()'
18071
bea754715961 obsolete: add revset and test for divergent changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18069
diff changeset
   211
  2:82623d38b9ba A_1
bea754715961 obsolete: add revset and test for divergent changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18069
diff changeset
   212
  3:392fd25390da A_2
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   213
  $ hg debugsuccessorssets 'all()' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   214
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   215
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   216
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   217
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   218
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   219
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   220
  $ hg debugsuccessorssets 'all()' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   221
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   222
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   223
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   224
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   225
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   226
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   227
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   228
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   229
      392fd25390da
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   230
  $ cd ..
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   231
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   232
do not take unknown node in account if they are final
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   233
-----------------------------------------------------
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   234
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   235
  $ newcase final-unknown
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   236
  $ hg debugobsolete `getid A_0` `getid A_1`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   237
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   238
  $ hg debugobsolete `getid A_1` `getid A_2`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   239
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   240
  $ hg debugobsolete `getid A_0` bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   241
  $ hg debugobsolete bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb cccccccccccccccccccccccccccccccccccccccc
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   242
  $ hg debugobsolete `getid A_1` dddddddddddddddddddddddddddddddddddddddd
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   243
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   244
  $ hg debugsuccessorssets --hidden 'desc('A_0')'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   245
  007dc284c1f8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   246
      392fd25390da
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   247
  $ hg debugsuccessorssets 'desc('A_0')' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   248
  $ hg debugsuccessorssets 'desc('A_0')' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   249
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   250
      82623d38b9ba
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   251
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   252
  $ cd ..
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   253
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   254
divergence that converge again is not divergence anymore
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   255
-----------------------------------------------------
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   256
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   257
  $ newcase converged_divergence
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   258
  $ hg debugobsolete `getid A_0` `getid A_1`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   259
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   260
  $ hg debugobsolete `getid A_0` `getid A_2`
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35508
diff changeset
   261
  2 new content-divergent changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   262
  $ mkcommit A_3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   263
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   264
  $ hg debugobsolete `getid A_1` `getid A_3`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   265
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   266
  $ hg debugobsolete `getid A_2` `getid A_3`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   267
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   268
  $ hg log -G --hidden
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   269
  @  4:01f36c5a8fda A_3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   270
  |
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   271
  | x  3:392fd25390da A_2 [rewritten as 4:01f36c5a8fda]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   272
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   273
  | x  2:82623d38b9ba A_1 [rewritten as 4:01f36c5a8fda]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   274
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   275
  | x  1:007dc284c1f8 A_0 [rewritten as 2:82623d38b9ba; rewritten as 3:392fd25390da]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   276
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   277
  o  0:d20a80d4def3 base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   278
  
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   279
  $ hg debugsuccessorssets --hidden 'all()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   280
  d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   281
      d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   282
  007dc284c1f8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   283
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   284
  82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   285
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   286
  392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   287
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   288
  01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   289
      01f36c5a8fda
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
   290
  $ hg log -r 'contentdivergent()'
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   291
  $ hg debugsuccessorssets 'all()' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   292
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   293
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   294
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   295
      01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   296
  $ hg debugsuccessorssets 'all()' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   297
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   298
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   299
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   300
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   301
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   302
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   303
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   304
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   305
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   306
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   307
      01f36c5a8fda
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   308
  $ cd ..
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   309
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   310
split is not divergences
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   311
-----------------------------
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   312
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   313
  $ newcase split
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   314
  $ hg debugobsolete `getid A_0` `getid A_1` `getid A_2`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   315
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   316
  $ hg log -G --hidden
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   317
  o  3:392fd25390da A_2
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   318
  |
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   319
  | o  2:82623d38b9ba A_1
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   320
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   321
  | x  1:007dc284c1f8 A_0 [split as 2:82623d38b9ba, 3:392fd25390da]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   322
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   323
  @  0:d20a80d4def3 base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   324
  
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   325
  $ hg debugsuccessorssets --hidden 'all()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   326
  d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   327
      d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   328
  007dc284c1f8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   329
      82623d38b9ba 392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   330
  82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   331
      82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   332
  392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   333
      392fd25390da
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
   334
  $ hg log -r 'contentdivergent()'
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   335
  $ hg debugsuccessorssets 'all()' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   336
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   337
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   338
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   339
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   340
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   341
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   342
  $ hg debugsuccessorssets 'all()' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   343
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   344
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   345
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   346
      82623d38b9ba 392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   347
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   348
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   349
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   350
      392fd25390da
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   351
21024
7731a2281cf0 spelling: fixes from spell checker
Mads Kiilerich <madski@unity3d.com>
parents: 18644
diff changeset
   352
Even when subsequent rewriting happen
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   353
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   354
  $ mkcommit A_3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   355
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   356
  $ hg debugobsolete `getid A_1` `getid A_3`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   357
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   358
  $ hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   359
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   360
  $ mkcommit A_4
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   361
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   362
  $ hg debugobsolete `getid A_2` `getid A_4`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   363
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   364
  $ hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   365
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   366
  $ mkcommit A_5
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   367
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   368
  $ hg debugobsolete `getid A_4` `getid A_5`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   369
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   370
  $ hg log -G --hidden
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   371
  @  6:e442cfc57690 A_5
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   372
  |
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   373
  | x  5:6a411f0d7a0a A_4 [rewritten as 6:e442cfc57690]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   374
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   375
  | o  4:01f36c5a8fda A_3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   376
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   377
  | x  3:392fd25390da A_2 [rewritten as 5:6a411f0d7a0a]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   378
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   379
  | x  2:82623d38b9ba A_1 [rewritten as 4:01f36c5a8fda]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   380
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   381
  | x  1:007dc284c1f8 A_0 [split as 2:82623d38b9ba, 3:392fd25390da]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   382
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   383
  o  0:d20a80d4def3 base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   384
  
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   385
  $ hg debugsuccessorssets --hidden 'all()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   386
  d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   387
      d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   388
  007dc284c1f8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   389
      01f36c5a8fda e442cfc57690
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   390
  82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   391
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   392
  392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   393
      e442cfc57690
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   394
  01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   395
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   396
  6a411f0d7a0a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   397
      e442cfc57690
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   398
  e442cfc57690
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   399
      e442cfc57690
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   400
  $ hg debugsuccessorssets 'all()' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   401
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   402
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   403
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   404
      01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   405
  e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   406
      e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   407
  $ hg debugsuccessorssets 'all()' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   408
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   409
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   410
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   411
      82623d38b9ba 392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   412
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   413
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   414
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   415
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   416
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   417
      01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   418
  6a411f0d7a0a
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   419
      e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   420
  e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   421
      e442cfc57690
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
   422
  $ hg log -r 'contentdivergent()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   423
18644
3e92772d5383 spelling: fix some minor issues found by spell checker
Mads Kiilerich <mads@kiilerich.com>
parents: 18382
diff changeset
   424
Check more complex obsolescence graft (with divergence)
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   425
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   426
  $ mkcommit B_0; hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   427
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   428
  $ hg debugobsolete `getid B_0` `getid A_2`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   429
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   430
  $ mkcommit A_7; hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   431
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   432
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   433
  $ mkcommit A_8; hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   434
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   435
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   436
  $ hg debugobsolete `getid A_5` `getid A_7` `getid A_8`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   437
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   438
  $ mkcommit A_9; hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   439
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   440
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   441
  $ hg debugobsolete `getid A_5` `getid A_9`
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35508
diff changeset
   442
  4 new content-divergent changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   443
  $ hg log -G --hidden
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 34961
diff changeset
   444
  *  10:bed64f5d2f5a A_9
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   445
  |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 34961
diff changeset
   446
  | *  9:14608b260df8 A_8
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   447
  |/
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 34961
diff changeset
   448
  | *  8:7ae126973a96 A_7
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   449
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   450
  | x  7:3750ebee865d B_0 [rewritten as 3:392fd25390da]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   451
  | |
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   452
  | x  6:e442cfc57690 A_5 [rewritten as 10:bed64f5d2f5a; split as 8:7ae126973a96, 9:14608b260df8]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   453
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   454
  | x  5:6a411f0d7a0a A_4 [rewritten as 6:e442cfc57690]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   455
  |/
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 34961
diff changeset
   456
  | *  4:01f36c5a8fda A_3
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   457
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   458
  | x  3:392fd25390da A_2 [rewritten as 5:6a411f0d7a0a]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   459
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   460
  | x  2:82623d38b9ba A_1 [rewritten as 4:01f36c5a8fda]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   461
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   462
  | x  1:007dc284c1f8 A_0 [split as 2:82623d38b9ba, 3:392fd25390da]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   463
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   464
  @  0:d20a80d4def3 base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   465
  
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   466
  $ hg debugsuccessorssets --hidden 'all()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   467
  d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   468
      d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   469
  007dc284c1f8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   470
      01f36c5a8fda bed64f5d2f5a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   471
      01f36c5a8fda 7ae126973a96 14608b260df8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   472
  82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   473
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   474
  392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   475
      bed64f5d2f5a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   476
      7ae126973a96 14608b260df8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   477
  01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   478
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   479
  6a411f0d7a0a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   480
      bed64f5d2f5a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   481
      7ae126973a96 14608b260df8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   482
  e442cfc57690
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   483
      bed64f5d2f5a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   484
      7ae126973a96 14608b260df8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   485
  3750ebee865d
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   486
      bed64f5d2f5a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   487
      7ae126973a96 14608b260df8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   488
  7ae126973a96
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   489
      7ae126973a96
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   490
  14608b260df8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   491
      14608b260df8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   492
  bed64f5d2f5a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   493
      bed64f5d2f5a
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   494
  $ hg debugsuccessorssets 'all()' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   495
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   496
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   497
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   498
      01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   499
  7ae126973a96
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   500
      7ae126973a96
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   501
  14608b260df8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   502
      14608b260df8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   503
  bed64f5d2f5a
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   504
      bed64f5d2f5a
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   505
  $ hg debugsuccessorssets 'all()' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   506
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   507
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   508
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   509
      82623d38b9ba 392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   510
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   511
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   512
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   513
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   514
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   515
      01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   516
  6a411f0d7a0a
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   517
      e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   518
  e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   519
      e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   520
  3750ebee865d
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   521
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   522
  7ae126973a96
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   523
      7ae126973a96
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   524
  14608b260df8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   525
      14608b260df8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   526
  bed64f5d2f5a
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   527
      bed64f5d2f5a
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
   528
  $ hg log -r 'contentdivergent()'
18071
bea754715961 obsolete: add revset and test for divergent changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18069
diff changeset
   529
  4:01f36c5a8fda A_3
bea754715961 obsolete: add revset and test for divergent changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18069
diff changeset
   530
  8:7ae126973a96 A_7
bea754715961 obsolete: add revset and test for divergent changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18069
diff changeset
   531
  9:14608b260df8 A_8
bea754715961 obsolete: add revset and test for divergent changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18069
diff changeset
   532
  10:bed64f5d2f5a A_9
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   533
37707
24fee31fda05 templates: adjust white space amount in the output of {whyunstable}
Anton Shestakov <av6@dwimlabs.net>
parents: 37706
diff changeset
   534
  $ hg log -r bed64f5d2f5a -T '{whyunstable}\n' | sort
24fee31fda05 templates: adjust white space amount in the output of {whyunstable}
Anton Shestakov <av6@dwimlabs.net>
parents: 37706
diff changeset
   535
  content-divergent: 4:01f36c5a8fda (draft) 8:7ae126973a96 (draft) 9:14608b260df8 (draft) predecessor 007dc284c1f8
24fee31fda05 templates: adjust white space amount in the output of {whyunstable}
Anton Shestakov <av6@dwimlabs.net>
parents: 37706
diff changeset
   536
  content-divergent: 8:7ae126973a96 (draft) 9:14608b260df8 (draft) predecessor e442cfc57690
24fee31fda05 templates: adjust white space amount in the output of {whyunstable}
Anton Shestakov <av6@dwimlabs.net>
parents: 37706
diff changeset
   537
  $ hg log -r bed64f5d2f5a -T whyunstableshort | sort
24fee31fda05 templates: adjust white space amount in the output of {whyunstable}
Anton Shestakov <av6@dwimlabs.net>
parents: 37706
diff changeset
   538
  content-divergent: 4:01f36c5a8fda (draft) 8:7ae126973a96 (draft) 9:14608b260df8 (draft) predecessor 007d
24fee31fda05 templates: adjust white space amount in the output of {whyunstable}
Anton Shestakov <av6@dwimlabs.net>
parents: 37706
diff changeset
   539
  content-divergent: 8:7ae126973a96 (draft) 9:14608b260df8 (draft) predecessor e442
24fee31fda05 templates: adjust white space amount in the output of {whyunstable}
Anton Shestakov <av6@dwimlabs.net>
parents: 37706
diff changeset
   540
  $ hg log -r bed64f5d2f5a -T whyunstableshorter | sort
24fee31fda05 templates: adjust white space amount in the output of {whyunstable}
Anton Shestakov <av6@dwimlabs.net>
parents: 37706
diff changeset
   541
  content-divergent: 01f3 (draft) 7ae1 (draft) 1460 (draft) predecessor 007d
24fee31fda05 templates: adjust white space amount in the output of {whyunstable}
Anton Shestakov <av6@dwimlabs.net>
parents: 37706
diff changeset
   542
  content-divergent: 7ae1 (draft) 1460 (draft) predecessor e442
24fee31fda05 templates: adjust white space amount in the output of {whyunstable}
Anton Shestakov <av6@dwimlabs.net>
parents: 37706
diff changeset
   543
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   544
fix the divergence
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   545
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   546
  $ mkcommit A_A; hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   547
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   548
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   549
  $ hg debugobsolete `getid A_9` `getid A_A`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   550
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   551
  $ hg debugobsolete `getid A_7` `getid A_A`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   552
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   553
  $ hg debugobsolete `getid A_8` `getid A_A`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   554
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   555
  $ hg log -G --hidden
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   556
  o  11:a139f71be9da A_A
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   557
  |
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   558
  | x  10:bed64f5d2f5a A_9 [rewritten as 11:a139f71be9da]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   559
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   560
  | x  9:14608b260df8 A_8 [rewritten as 11:a139f71be9da]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   561
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   562
  | x  8:7ae126973a96 A_7 [rewritten as 11:a139f71be9da]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   563
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   564
  | x  7:3750ebee865d B_0 [rewritten as 3:392fd25390da]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   565
  | |
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   566
  | x  6:e442cfc57690 A_5 [rewritten as 10:bed64f5d2f5a; split as 8:7ae126973a96, 9:14608b260df8]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   567
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   568
  | x  5:6a411f0d7a0a A_4 [rewritten as 6:e442cfc57690]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   569
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   570
  | o  4:01f36c5a8fda A_3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   571
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   572
  | x  3:392fd25390da A_2 [rewritten as 5:6a411f0d7a0a]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   573
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   574
  | x  2:82623d38b9ba A_1 [rewritten as 4:01f36c5a8fda]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   575
  |/
34851
6f53a53245a2 obsfate: only display date in verbose mode
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   576
  | x  1:007dc284c1f8 A_0 [split as 2:82623d38b9ba, 3:392fd25390da]
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   577
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   578
  @  0:d20a80d4def3 base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   579
  
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   580
  $ hg debugsuccessorssets --hidden 'all()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   581
  d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   582
      d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   583
  007dc284c1f8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   584
      01f36c5a8fda a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   585
  82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   586
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   587
  392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   588
      a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   589
  01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   590
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   591
  6a411f0d7a0a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   592
      a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   593
  e442cfc57690
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   594
      a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   595
  3750ebee865d
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   596
      a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   597
  7ae126973a96
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   598
      a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   599
  14608b260df8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   600
      a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   601
  bed64f5d2f5a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   602
      a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   603
  a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   604
      a139f71be9da
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   605
  $ hg debugsuccessorssets 'all()' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   606
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   607
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   608
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   609
      01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   610
  a139f71be9da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   611
      a139f71be9da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   612
  $ hg debugsuccessorssets 'all()' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   613
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   614
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   615
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   616
      82623d38b9ba 392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   617
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   618
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   619
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   620
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   621
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   622
      01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   623
  6a411f0d7a0a
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   624
      e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   625
  e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   626
      e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   627
  3750ebee865d
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   628
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   629
  7ae126973a96
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   630
      a139f71be9da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   631
  14608b260df8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   632
      a139f71be9da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   633
  bed64f5d2f5a
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   634
      a139f71be9da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   635
  a139f71be9da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   636
      a139f71be9da
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
   637
  $ hg log -r 'contentdivergent()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   638
36321
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   639
#if serve
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   640
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   641
  $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid --config web.view=all \
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   642
  >   -A access.log -E errors.log
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   643
  $ cat hg.pid >> $DAEMON_PIDS
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   644
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   645
check an obsolete changeset that was rewritten and also split
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   646
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   647
  $ get-with-headers.py localhost:$HGPORT 'rev/e442cfc57690?style=paper' | egrep 'rewritten|split'
36322
f3fd4fe0506f hgweb: show each obsfateentry on its own line
Anton Shestakov <av6@dwimlabs.net>
parents: 36321
diff changeset
   648
   <td>rewritten as <a href="/rev/bed64f5d2f5a?style=paper">bed64f5d2f5a</a>  by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span><br>
f3fd4fe0506f hgweb: show each obsfateentry on its own line
Anton Shestakov <av6@dwimlabs.net>
parents: 36321
diff changeset
   649
  split as <a href="/rev/7ae126973a96?style=paper">7ae126973a96</a> <a href="/rev/14608b260df8?style=paper">14608b260df8</a>  by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
36321
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   650
  $ get-with-headers.py localhost:$HGPORT 'rev/e442cfc57690?style=coal' | egrep 'rewritten|split'
36322
f3fd4fe0506f hgweb: show each obsfateentry on its own line
Anton Shestakov <av6@dwimlabs.net>
parents: 36321
diff changeset
   651
   <td>rewritten as <a href="/rev/bed64f5d2f5a?style=coal">bed64f5d2f5a</a>  by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span><br>
f3fd4fe0506f hgweb: show each obsfateentry on its own line
Anton Shestakov <av6@dwimlabs.net>
parents: 36321
diff changeset
   652
  split as <a href="/rev/7ae126973a96?style=coal">7ae126973a96</a> <a href="/rev/14608b260df8?style=coal">14608b260df8</a>  by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
36321
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   653
  $ get-with-headers.py localhost:$HGPORT 'rev/e442cfc57690?style=gitweb' | egrep 'rewritten|split'
36322
f3fd4fe0506f hgweb: show each obsfateentry on its own line
Anton Shestakov <av6@dwimlabs.net>
parents: 36321
diff changeset
   654
  <td>rewritten as <a class="list" href="/rev/bed64f5d2f5a?style=gitweb">bed64f5d2f5a</a>  by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
f3fd4fe0506f hgweb: show each obsfateentry on its own line
Anton Shestakov <av6@dwimlabs.net>
parents: 36321
diff changeset
   655
  <td>split as <a class="list" href="/rev/7ae126973a96?style=gitweb">7ae126973a96</a> <a class="list" href="/rev/14608b260df8?style=gitweb">14608b260df8</a>  by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
36321
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   656
  $ get-with-headers.py localhost:$HGPORT 'rev/e442cfc57690?style=monoblue' | egrep 'rewritten|split'
36322
f3fd4fe0506f hgweb: show each obsfateentry on its own line
Anton Shestakov <av6@dwimlabs.net>
parents: 36321
diff changeset
   657
  <dd>rewritten as <a href="/rev/bed64f5d2f5a?style=monoblue">bed64f5d2f5a</a>  by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></dd>
f3fd4fe0506f hgweb: show each obsfateentry on its own line
Anton Shestakov <av6@dwimlabs.net>
parents: 36321
diff changeset
   658
  <dd>split as <a href="/rev/7ae126973a96?style=monoblue">7ae126973a96</a> <a href="/rev/14608b260df8?style=monoblue">14608b260df8</a>  by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></dd>
36321
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   659
  $ get-with-headers.py localhost:$HGPORT 'rev/e442cfc57690?style=spartan' | egrep 'rewritten|split'
36322
f3fd4fe0506f hgweb: show each obsfateentry on its own line
Anton Shestakov <av6@dwimlabs.net>
parents: 36321
diff changeset
   660
  <td class="obsolete">rewritten as <a href="/rev/bed64f5d2f5a?style=spartan">bed64f5d2f5a</a>  by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
f3fd4fe0506f hgweb: show each obsfateentry on its own line
Anton Shestakov <av6@dwimlabs.net>
parents: 36321
diff changeset
   661
  <td class="obsolete">split as <a href="/rev/7ae126973a96?style=spartan">7ae126973a96</a> <a href="/rev/14608b260df8?style=spartan">14608b260df8</a>  by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
36321
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   662
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   663
  $ killdaemons.py
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   664
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   665
#endif
ef7b48e6388d tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net>
parents: 35709
diff changeset
   666
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   667
  $ cd ..
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   668
18069
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   669
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   670
Subset does not diverge
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   671
------------------------------
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   672
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   673
Do not report divergent successors-set if it is a subset of another
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   674
successors-set. (report [A,B] not [A] + [A,B])
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   675
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   676
  $ newcase subset
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   677
  $ hg debugobsolete `getid A_0` `getid A_2`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33330
diff changeset
   678
  obsoleted 1 changesets
18069
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   679
  $ hg debugobsolete `getid A_0` `getid A_1` `getid A_2`
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   680
  $ hg debugsuccessorssets --hidden 'desc('A_0')'
18069
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   681
  007dc284c1f8
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   682
      82623d38b9ba 392fd25390da
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   683
  $ hg debugsuccessorssets 'desc('A_0')' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   684
  $ hg debugsuccessorssets 'desc('A_0')' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   685
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   686
      82623d38b9ba 392fd25390da
18069
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   687
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   688
  $ cd ..
33330
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   689
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   690
Use scmutil.cleanupnodes API to create divergence
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   691
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   692
  $ hg init cleanupnodes
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   693
  $ cd cleanupnodes
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   694
  $ hg debugdrawdag <<'EOS'
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   695
  >   B1  B3 B4
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   696
  >   |     \|
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   697
  >   A      Z
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   698
  > EOS
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   699
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   700
  $ hg update -q B1
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   701
  $ echo 3 >> B
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   702
  $ hg commit --amend -m B2
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   703
  $ cat > $TESTTMP/scmutilcleanup.py <<EOF
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   704
  > from mercurial import registrar, scmutil
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   705
  > cmdtable = {}
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   706
  > command = registrar.command(cmdtable)
38445
afa96dd5a483 py3: add b'' prefixes in tests/test-obsolete-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 37707
diff changeset
   707
  > @command(b'cleanup')
33330
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   708
  > def cleanup(ui, repo):
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   709
  >     def node(expr):
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   710
  >         unfi = repo.unfiltered()
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   711
  >         rev = unfi.revs(expr).first()
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   712
  >         return unfi.changelog.node(rev)
38445
afa96dd5a483 py3: add b'' prefixes in tests/test-obsolete-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 37707
diff changeset
   713
  >     with repo.wlock(), repo.lock(), repo.transaction(b'delayedstrip'):
afa96dd5a483 py3: add b'' prefixes in tests/test-obsolete-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 37707
diff changeset
   714
  >         mapping = {node(b'desc(B1)'): [node(b'desc(B3)')],
afa96dd5a483 py3: add b'' prefixes in tests/test-obsolete-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 37707
diff changeset
   715
  >                    node(b'desc(B3)'): [node(b'desc(B4)')]}
afa96dd5a483 py3: add b'' prefixes in tests/test-obsolete-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 37707
diff changeset
   716
  >         scmutil.cleanupnodes(repo, mapping, b'test')
33330
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   717
  > EOF
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   718
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   719
  $ rm .hg/localtags
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   720
  $ hg cleanup --config extensions.t=$TESTTMP/scmutilcleanup.py
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35508
diff changeset
   721
  2 new content-divergent changesets
33709
511d6ae462f3 template: rename troubles templatekw into instabilities
Boris Feld <boris.feld@octobus.net>
parents: 33688
diff changeset
   722
  $ hg log -G -T '{rev}:{node|short} {desc} {instabilities}' -r 'sort(all(), topo)'
33688
2194a8723138 evolution: rename divergent to content-divergent
Boris Feld <boris.feld@octobus.net>
parents: 33542
diff changeset
   723
  @  5:1a2a9b5b0030 B2 content-divergent
33330
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   724
  |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 34961
diff changeset
   725
  | *  4:70d5a63ca112 B4 content-divergent
33330
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   726
  | |
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   727
  | o  1:48b9aae0607f Z
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   728
  |
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   729
  o  0:426bada5c675 A
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   730
  
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   731
  $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34866
diff changeset
   732
  a178212c3433c4e77b573f6011e29affb8aefa33 1a2a9b5b0030632400aa78e00388c20f99d3ec44 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34866
diff changeset
   733
  a178212c3433c4e77b573f6011e29affb8aefa33 ad6478fb94ecec98b86daae98722865d494ac561 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'test', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34866
diff changeset
   734
  ad6478fb94ecec98b86daae98722865d494ac561 70d5a63ca112acb3764bc1d7320ca90ea688d671 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'test', 'user': 'test'}
36954
efc4fb344c05 debug: add debugwhyunstable that explains instabilities
Anton Shestakov <av6@dwimlabs.net>
parents: 36322
diff changeset
   735
efc4fb344c05 debug: add debugwhyunstable that explains instabilities
Anton Shestakov <av6@dwimlabs.net>
parents: 36322
diff changeset
   736
  $ hg debugwhyunstable 1a2a9b5b0030
efc4fb344c05 debug: add debugwhyunstable that explains instabilities
Anton Shestakov <av6@dwimlabs.net>
parents: 36322
diff changeset
   737
  content-divergent: 70d5a63ca112acb3764bc1d7320ca90ea688d671 (draft) predecessor a178212c3433c4e77b573f6011e29affb8aefa33
36955
f21798a6bc20 hgweb: explain instabilities of unstable changesets
Anton Shestakov <av6@dwimlabs.net>
parents: 36954
diff changeset
   738
37704
3335658516be tests: hg log shouldn't need --hidden to show whyunstable template keyword
Anton Shestakov <av6@dwimlabs.net>
parents: 37686
diff changeset
   739
  $ hg log -r 1a2a9b5b0030 -T '{whyunstable}\n'
37685
76cd5816268e templates: add whyunstable template keyword
Anton Shestakov <av6@dwimlabs.net>
parents: 37024
diff changeset
   740
  content-divergent: 4:70d5a63ca112 (draft) predecessor a178212c3433
37706
04b89360913c tests: split long templates that use {whyunstable} and put them in hgrc
Anton Shestakov <av6@dwimlabs.net>
parents: 37705
diff changeset
   741
  $ hg log -r 1a2a9b5b0030 -T whyunstableshort
37705
82eeafd78784 tests: make custom templates that use {whyunstable} terser
Anton Shestakov <av6@dwimlabs.net>
parents: 37704
diff changeset
   742
  content-divergent: 4:70d5a63ca112 (draft) predecessor a178
37706
04b89360913c tests: split long templates that use {whyunstable} and put them in hgrc
Anton Shestakov <av6@dwimlabs.net>
parents: 37705
diff changeset
   743
  $ hg log -r 1a2a9b5b0030 -T whyunstableshorter
37705
82eeafd78784 tests: make custom templates that use {whyunstable} terser
Anton Shestakov <av6@dwimlabs.net>
parents: 37704
diff changeset
   744
  content-divergent: 70d5 (draft) predecessor a178
37685
76cd5816268e templates: add whyunstable template keyword
Anton Shestakov <av6@dwimlabs.net>
parents: 37024
diff changeset
   745
36955
f21798a6bc20 hgweb: explain instabilities of unstable changesets
Anton Shestakov <av6@dwimlabs.net>
parents: 36954
diff changeset
   746
#if serve
f21798a6bc20 hgweb: explain instabilities of unstable changesets
Anton Shestakov <av6@dwimlabs.net>
parents: 36954
diff changeset
   747
f21798a6bc20 hgweb: explain instabilities of unstable changesets
Anton Shestakov <av6@dwimlabs.net>
parents: 36954
diff changeset
   748
  $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
f21798a6bc20 hgweb: explain instabilities of unstable changesets
Anton Shestakov <av6@dwimlabs.net>
parents: 36954
diff changeset
   749
  $ cat hg.pid >> $DAEMON_PIDS
f21798a6bc20 hgweb: explain instabilities of unstable changesets
Anton Shestakov <av6@dwimlabs.net>
parents: 36954
diff changeset
   750
f21798a6bc20 hgweb: explain instabilities of unstable changesets
Anton Shestakov <av6@dwimlabs.net>
parents: 36954
diff changeset
   751
check explanation for a content-divergent changeset
f21798a6bc20 hgweb: explain instabilities of unstable changesets
Anton Shestakov <av6@dwimlabs.net>
parents: 36954
diff changeset
   752
f21798a6bc20 hgweb: explain instabilities of unstable changesets
Anton Shestakov <av6@dwimlabs.net>
parents: 36954
diff changeset
   753
  $ get-with-headers.py localhost:$HGPORT 'rev/1a2a9b5b0030?style=paper' | grep divergent:
f21798a6bc20 hgweb: explain instabilities of unstable changesets
Anton Shestakov <av6@dwimlabs.net>
parents: 36954
diff changeset
   754
   <td>content-divergent: <a href="/rev/70d5a63ca112?style=paper">70d5a63ca112</a> (draft) predecessor <a href="/rev/a178212c3433?style=paper">a178212c3433</a></td>
f21798a6bc20 hgweb: explain instabilities of unstable changesets
Anton Shestakov <av6@dwimlabs.net>
parents: 36954
diff changeset
   755
  $ get-with-headers.py localhost:$HGPORT 'rev/1a2a9b5b0030?style=coal' | grep divergent:
f21798a6bc20 hgweb: explain instabilities of unstable changesets
Anton Shestakov <av6@dwimlabs.net>
parents: 36954
diff changeset
   756
   <td>content-divergent: <a href="/rev/70d5a63ca112?style=coal">70d5a63ca112</a> (draft) predecessor <a href="/rev/a178212c3433?style=coal">a178212c3433</a></td>
37024
7c18798fc24d hgweb: explain instabilities of unstable changesets (the rest of the themes)
Anton Shestakov <av6@dwimlabs.net>
parents: 36955
diff changeset
   757
  $ get-with-headers.py localhost:$HGPORT 'rev/1a2a9b5b0030?style=gitweb' | grep divergent:
7c18798fc24d hgweb: explain instabilities of unstable changesets (the rest of the themes)
Anton Shestakov <av6@dwimlabs.net>
parents: 36955
diff changeset
   758
  <td>content-divergent: <a class="list" href="/rev/70d5a63ca112?style=gitweb">70d5a63ca112</a> (draft) predecessor <a class="list" href="/rev/a178212c3433?style=gitweb">a178212c3433</a></td>
7c18798fc24d hgweb: explain instabilities of unstable changesets (the rest of the themes)
Anton Shestakov <av6@dwimlabs.net>
parents: 36955
diff changeset
   759
  $ get-with-headers.py localhost:$HGPORT 'rev/1a2a9b5b0030?style=monoblue' | grep divergent:
7c18798fc24d hgweb: explain instabilities of unstable changesets (the rest of the themes)
Anton Shestakov <av6@dwimlabs.net>
parents: 36955
diff changeset
   760
  <dd>content-divergent: <a href="/rev/70d5a63ca112?style=monoblue">70d5a63ca112</a> (draft) predecessor <a href="/rev/a178212c3433?style=monoblue">a178212c3433</a></dd>
7c18798fc24d hgweb: explain instabilities of unstable changesets (the rest of the themes)
Anton Shestakov <av6@dwimlabs.net>
parents: 36955
diff changeset
   761
  $ get-with-headers.py localhost:$HGPORT 'rev/1a2a9b5b0030?style=spartan' | grep divergent:
7c18798fc24d hgweb: explain instabilities of unstable changesets (the rest of the themes)
Anton Shestakov <av6@dwimlabs.net>
parents: 36955
diff changeset
   762
  <td class="unstable">content-divergent: <a href="/rev/70d5a63ca112?style=spartan">70d5a63ca112</a> (draft) predecessor <a href="/rev/a178212c3433?style=spartan">a178212c3433</a></td>
36955
f21798a6bc20 hgweb: explain instabilities of unstable changesets
Anton Shestakov <av6@dwimlabs.net>
parents: 36954
diff changeset
   763
f21798a6bc20 hgweb: explain instabilities of unstable changesets
Anton Shestakov <av6@dwimlabs.net>
parents: 36954
diff changeset
   764
  $ killdaemons.py
f21798a6bc20 hgweb: explain instabilities of unstable changesets
Anton Shestakov <av6@dwimlabs.net>
parents: 36954
diff changeset
   765
f21798a6bc20 hgweb: explain instabilities of unstable changesets
Anton Shestakov <av6@dwimlabs.net>
parents: 36954
diff changeset
   766
#endif