tests/test-obsolete-divergent.t
author Jun Wu <quark@fb.com>
Tue, 05 Sep 2017 13:37:36 -0700
changeset 34087 5361771f9714
parent 33775 f078d7358e90
child 34286 ecc96506c49d
permissions -rw-r--r--
wrapfunction: use functools.partial if possible Every `extensions.bind` call inserts a frame in traceback: ... in closure return func(*(args + a), **kw) which makes traceback noisy. The Python stdlib has a `functools.partial` which is backed by C code and does not pollute traceback. However it does not support instancemethod and sets `args` attribute which could be problematic for alias handling. This patch makes `wrapfunction` use `functools.partial` if we are wrapping a function directly exported by a module (so it's impossible to be a class or instance method), and special handles `wrapfunction` results so alias handling code could handle `args` just fine. As an example, `hg rebase -s . -d . --traceback` got 6 lines removed in my setup: File "hg/mercurial/dispatch.py", line 898, in _dispatch cmdpats, cmdoptions) -File "hg/mercurial/extensions.py", line 333, in closure - return func(*(args + a), **kw) File "hg/hgext/journal.py", line 84, in runcommand return orig(lui, repo, cmd, fullargs, *args) -File "hg/mercurial/extensions.py", line 333, in closure - return func(*(args + a), **kw) File "fb-hgext/hgext3rd/fbamend/hiddenoverride.py", line 119, in runcommand result = orig(lui, repo, cmd, fullargs, *args) File "hg/mercurial/dispatch.py", line 660, in runcommand ret = _runcommand(ui, options, cmd, d) -File "hg/mercurial/extensions.py", line 333, in closure - return func(*(args + a), **kw) File "hg/hgext/pager.py", line 69, in pagecmd return orig(ui, options, cmd, cmdfunc) .... Differential Revision: https://phab.mercurial-scm.org/D632
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]
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    10
  > logtemplate = {rev}:{node|short} {desc}\n
22955
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 21789
diff changeset
    11
  > [experimental]
33773
6c1a9fd8361b test: update evolution config
Boris Feld <boris.feld@octobus.net>
parents: 33709
diff changeset
    12
  > stabilization=createmarkers
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
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    19
  > EOF
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    20
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    21
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    22
  $ mkcommit() {
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    23
  >    echo "$1" > "$1"
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    24
  >    hg add "$1"
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    25
  >    hg ci -m "$1"
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
  $ getid() {
21789
15baed3f24ee branchmap: don't use ui.warn for debug message
Matt Mackall <mpm@selenic.com>
parents: 21024
diff changeset
    28
  >    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
    29
  > }
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    30
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    31
setup repo
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    32
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    33
  $ hg init reference
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    34
  $ cd reference
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    35
  $ mkcommit base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    36
  $ mkcommit A_0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    37
  $ hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    38
  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
    39
  $ mkcommit A_1
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    40
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    41
  $ hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    42
  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
    43
  $ mkcommit A_2
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    44
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    45
  $ hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    46
  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
    47
  $ cd ..
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    48
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    49
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    50
  $ newcase() {
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    51
  >    hg clone -u 0 -q reference $1
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    52
  >    cd $1
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
direct divergence
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    56
-----------------
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    57
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    58
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
    59
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    60
  $ newcase direct
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    61
  $ 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
    62
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    63
  $ hg debugobsolete `getid A_0` `getid A_2`
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    64
  $ hg log -G --hidden
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    65
  o  3:392fd25390da A_2
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    66
  |
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    67
  | o  2:82623d38b9ba A_1
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    68
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    69
  | x  1:007dc284c1f8 A_0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    70
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    71
  @  0:d20a80d4def3 base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    72
  
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
    73
  $ hg debugsuccessorssets --hidden 'all()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    74
  d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    75
      d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    76
  007dc284c1f8
18365
4148414da120 obsolete: process markers in a stable order
Mads Kiilerich <mads@kiilerich.com>
parents: 18267
diff changeset
    77
      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
    78
      392fd25390da
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    79
  82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    80
      82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    81
  392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    82
      392fd25390da
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
    83
  $ 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
    84
  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
    85
  3:392fd25390da A_2
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    86
  $ hg debugsuccessorssets 'all()' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    87
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    88
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    89
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    90
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    91
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    92
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    93
  $ hg debugsuccessorssets 'all()' --closest --hidden
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
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    96
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
    97
      82623d38b9ba
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
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   100
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   101
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   102
      392fd25390da
18073
e411fd79ca69 obsolete: refuse to push divergent changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18071
diff changeset
   103
e411fd79ca69 obsolete: refuse to push divergent changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18071
diff changeset
   104
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
   105
e411fd79ca69 obsolete: refuse to push divergent changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18071
diff changeset
   106
  $ hg init ../other
e411fd79ca69 obsolete: refuse to push divergent changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18071
diff changeset
   107
  $ hg push ../other
e411fd79ca69 obsolete: refuse to push divergent changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18071
diff changeset
   108
  pushing to ../other
e411fd79ca69 obsolete: refuse to push divergent changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18071
diff changeset
   109
  searching for changes
33688
2194a8723138 evolution: rename divergent to content-divergent
Boris Feld <boris.feld@octobus.net>
parents: 33542
diff changeset
   110
  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
   111
  [255]
e411fd79ca69 obsolete: refuse to push divergent changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18071
diff changeset
   112
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   113
  $ cd ..
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   114
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   115
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   116
indirect divergence with known changeset
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   117
-------------------------------------------
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   118
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   119
  $ newcase indirect_known
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   120
  $ 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
   121
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   122
  $ hg debugobsolete `getid A_0` `getid A_2`
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   123
  $ mkcommit A_3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   124
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   125
  $ 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
   126
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   127
  $ hg log -G --hidden
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   128
  @  4:01f36c5a8fda A_3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   129
  |
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   130
  | x  3:392fd25390da A_2
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   131
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   132
  | o  2:82623d38b9ba A_1
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   133
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   134
  | x  1:007dc284c1f8 A_0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   135
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   136
  o  0:d20a80d4def3 base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   137
  
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   138
  $ hg debugsuccessorssets --hidden 'all()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   139
  d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   140
      d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   141
  007dc284c1f8
18365
4148414da120 obsolete: process markers in a stable order
Mads Kiilerich <mads@kiilerich.com>
parents: 18267
diff changeset
   142
      82623d38b9ba
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   143
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   144
  82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   145
      82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   146
  392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   147
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   148
  01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   149
      01f36c5a8fda
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
   150
  $ 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
   151
  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
   152
  4:01f36c5a8fda A_3
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   153
  $ hg debugsuccessorssets 'all()' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   154
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   155
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   156
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   157
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   158
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   159
      01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   160
  $ hg debugsuccessorssets 'all()' --closest --hidden
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
  007dc284c1f8
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
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   166
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   167
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   168
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   169
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   170
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   171
      01f36c5a8fda
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   172
  $ cd ..
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   173
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   174
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   175
indirect divergence with known changeset
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   176
-------------------------------------------
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   177
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   178
  $ newcase indirect_unknown
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   179
  $ 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
   180
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   181
  $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid A_1`
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   182
  $ hg debugobsolete `getid A_0` `getid A_2`
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   183
  $ hg log -G --hidden
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   184
  o  3:392fd25390da A_2
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   185
  |
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   186
  | o  2:82623d38b9ba A_1
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   187
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   188
  | x  1:007dc284c1f8 A_0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   189
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   190
  @  0:d20a80d4def3 base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   191
  
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   192
  $ hg debugsuccessorssets --hidden 'all()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   193
  d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   194
      d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   195
  007dc284c1f8
18365
4148414da120 obsolete: process markers in a stable order
Mads Kiilerich <mads@kiilerich.com>
parents: 18267
diff changeset
   196
      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
   197
      392fd25390da
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   198
  82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   199
      82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   200
  392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   201
      392fd25390da
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
   202
  $ 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
   203
  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
   204
  3:392fd25390da A_2
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   205
  $ hg debugsuccessorssets 'all()' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   206
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   207
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   208
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   209
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   210
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   211
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   212
  $ hg debugsuccessorssets 'all()' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   213
  d20a80d4def3
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
  007dc284c1f8
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
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   218
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   219
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   220
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   221
      392fd25390da
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   222
  $ cd ..
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   223
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   224
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
   225
-----------------------------------------------------
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   226
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   227
  $ newcase final-unknown
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   228
  $ 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
   229
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   230
  $ 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
   231
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   232
  $ hg debugobsolete `getid A_0` bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   233
  $ hg debugobsolete bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb cccccccccccccccccccccccccccccccccccccccc
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   234
  $ hg debugobsolete `getid A_1` dddddddddddddddddddddddddddddddddddddddd
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   235
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   236
  $ hg debugsuccessorssets --hidden 'desc('A_0')'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   237
  007dc284c1f8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   238
      392fd25390da
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   239
  $ hg debugsuccessorssets 'desc('A_0')' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   240
  $ hg debugsuccessorssets 'desc('A_0')' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   241
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   242
      82623d38b9ba
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   243
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   244
  $ cd ..
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   245
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   246
divergence that converge again is not divergence anymore
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   247
-----------------------------------------------------
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   248
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   249
  $ newcase converged_divergence
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   250
  $ 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
   251
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   252
  $ hg debugobsolete `getid A_0` `getid A_2`
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   253
  $ mkcommit A_3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   254
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   255
  $ 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
   256
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   257
  $ 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
   258
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   259
  $ hg log -G --hidden
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   260
  @  4:01f36c5a8fda A_3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   261
  |
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   262
  | x  3:392fd25390da A_2
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   263
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   264
  | x  2:82623d38b9ba A_1
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   265
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   266
  | x  1:007dc284c1f8 A_0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   267
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   268
  o  0:d20a80d4def3 base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   269
  
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   270
  $ hg debugsuccessorssets --hidden 'all()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   271
  d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   272
      d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   273
  007dc284c1f8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   274
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   275
  82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   276
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   277
  392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   278
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   279
  01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   280
      01f36c5a8fda
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
   281
  $ hg log -r 'contentdivergent()'
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   282
  $ hg debugsuccessorssets 'all()' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   283
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   284
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   285
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   286
      01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   287
  $ hg debugsuccessorssets 'all()' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   288
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   289
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   290
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   291
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   292
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   293
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   294
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   295
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   296
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   297
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   298
      01f36c5a8fda
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   299
  $ cd ..
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   300
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   301
split is not divergences
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   302
-----------------------------
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   303
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   304
  $ newcase split
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   305
  $ 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
   306
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   307
  $ hg log -G --hidden
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   308
  o  3:392fd25390da A_2
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
  | o  2:82623d38b9ba A_1
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
  | x  1:007dc284c1f8 A_0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   313
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   314
  @  0:d20a80d4def3 base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   315
  
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   316
  $ hg debugsuccessorssets --hidden 'all()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   317
  d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   318
      d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   319
  007dc284c1f8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   320
      82623d38b9ba 392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   321
  82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   322
      82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   323
  392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   324
      392fd25390da
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
   325
  $ hg log -r 'contentdivergent()'
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   326
  $ hg debugsuccessorssets 'all()' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   327
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   328
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   329
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   330
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   331
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   332
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   333
  $ hg debugsuccessorssets 'all()' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   334
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   335
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   336
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   337
      82623d38b9ba 392fd25390da
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
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   342
21024
7731a2281cf0 spelling: fixes from spell checker
Mads Kiilerich <madski@unity3d.com>
parents: 18644
diff changeset
   343
Even when subsequent rewriting happen
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   344
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   345
  $ mkcommit A_3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   346
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   347
  $ 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
   348
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   349
  $ hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   350
  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
   351
  $ mkcommit A_4
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   352
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   353
  $ 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
   354
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   355
  $ hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   356
  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
   357
  $ mkcommit A_5
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   358
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   359
  $ 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
   360
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   361
  $ hg log -G --hidden
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   362
  @  6:e442cfc57690 A_5
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   363
  |
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   364
  | x  5:6a411f0d7a0a A_4
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   365
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   366
  | o  4:01f36c5a8fda A_3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   367
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   368
  | x  3:392fd25390da A_2
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   369
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   370
  | x  2:82623d38b9ba A_1
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   371
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   372
  | x  1:007dc284c1f8 A_0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   373
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   374
  o  0:d20a80d4def3 base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   375
  
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   376
  $ hg debugsuccessorssets --hidden 'all()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   377
  d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   378
      d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   379
  007dc284c1f8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   380
      01f36c5a8fda e442cfc57690
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   381
  82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   382
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   383
  392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   384
      e442cfc57690
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   385
  01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   386
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   387
  6a411f0d7a0a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   388
      e442cfc57690
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   389
  e442cfc57690
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   390
      e442cfc57690
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   391
  $ hg debugsuccessorssets 'all()' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   392
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   393
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   394
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   395
      01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   396
  e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   397
      e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   398
  $ hg debugsuccessorssets 'all()' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   399
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   400
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   401
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   402
      82623d38b9ba 392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   403
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   404
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   405
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   406
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   407
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   408
      01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   409
  6a411f0d7a0a
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   410
      e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   411
  e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   412
      e442cfc57690
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
   413
  $ hg log -r 'contentdivergent()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   414
18644
3e92772d5383 spelling: fix some minor issues found by spell checker
Mads Kiilerich <mads@kiilerich.com>
parents: 18382
diff changeset
   415
Check more complex obsolescence graft (with divergence)
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   416
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   417
  $ mkcommit B_0; hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   418
  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
   419
  $ 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
   420
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   421
  $ mkcommit A_7; hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   422
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   423
  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
   424
  $ mkcommit A_8; hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   425
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   426
  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
   427
  $ 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
   428
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   429
  $ mkcommit A_9; hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   430
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   431
  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
   432
  $ hg debugobsolete `getid A_5` `getid A_9`
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   433
  $ hg log -G --hidden
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   434
  o  10:bed64f5d2f5a A_9
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   435
  |
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   436
  | o  9:14608b260df8 A_8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   437
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   438
  | o  8:7ae126973a96 A_7
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   439
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   440
  | x  7:3750ebee865d B_0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   441
  | |
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   442
  | x  6:e442cfc57690 A_5
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   443
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   444
  | x  5:6a411f0d7a0a A_4
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   445
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   446
  | o  4:01f36c5a8fda A_3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   447
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   448
  | x  3:392fd25390da A_2
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   449
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   450
  | x  2:82623d38b9ba A_1
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   451
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   452
  | x  1:007dc284c1f8 A_0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   453
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   454
  @  0:d20a80d4def3 base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   455
  
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   456
  $ hg debugsuccessorssets --hidden 'all()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   457
  d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   458
      d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   459
  007dc284c1f8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   460
      01f36c5a8fda bed64f5d2f5a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   461
      01f36c5a8fda 7ae126973a96 14608b260df8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   462
  82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   463
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   464
  392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   465
      bed64f5d2f5a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   466
      7ae126973a96 14608b260df8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   467
  01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   468
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   469
  6a411f0d7a0a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   470
      bed64f5d2f5a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   471
      7ae126973a96 14608b260df8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   472
  e442cfc57690
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   473
      bed64f5d2f5a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   474
      7ae126973a96 14608b260df8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   475
  3750ebee865d
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   476
      bed64f5d2f5a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   477
      7ae126973a96 14608b260df8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   478
  7ae126973a96
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   479
      7ae126973a96
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   480
  14608b260df8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   481
      14608b260df8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   482
  bed64f5d2f5a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   483
      bed64f5d2f5a
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   484
  $ hg debugsuccessorssets 'all()' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   485
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   486
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   487
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   488
      01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   489
  7ae126973a96
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   490
      7ae126973a96
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   491
  14608b260df8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   492
      14608b260df8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   493
  bed64f5d2f5a
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   494
      bed64f5d2f5a
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   495
  $ hg debugsuccessorssets 'all()' --closest --hidden
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
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   498
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   499
      82623d38b9ba 392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   500
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   501
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   502
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   503
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   504
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   505
      01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   506
  6a411f0d7a0a
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   507
      e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   508
  e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   509
      e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   510
  3750ebee865d
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   511
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   512
  7ae126973a96
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   513
      7ae126973a96
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   514
  14608b260df8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   515
      14608b260df8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   516
  bed64f5d2f5a
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   517
      bed64f5d2f5a
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
   518
  $ 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
   519
  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
   520
  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
   521
  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
   522
  10:bed64f5d2f5a A_9
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   523
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   524
fix the divergence
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   525
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   526
  $ mkcommit A_A; hg up 0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   527
  created new head
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   528
  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
   529
  $ 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
   530
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   531
  $ 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
   532
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   533
  $ 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
   534
  obsoleted 1 changesets
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   535
  $ hg log -G --hidden
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   536
  o  11:a139f71be9da A_A
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   537
  |
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   538
  | x  10:bed64f5d2f5a A_9
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   539
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   540
  | x  9:14608b260df8 A_8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   541
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   542
  | x  8:7ae126973a96 A_7
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   543
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   544
  | x  7:3750ebee865d B_0
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
  | x  6:e442cfc57690 A_5
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   547
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   548
  | x  5:6a411f0d7a0a A_4
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   549
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   550
  | o  4:01f36c5a8fda A_3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   551
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   552
  | x  3:392fd25390da A_2
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   553
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   554
  | x  2:82623d38b9ba A_1
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   555
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   556
  | x  1:007dc284c1f8 A_0
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   557
  |/
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   558
  @  0:d20a80d4def3 base
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   559
  
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18234
diff changeset
   560
  $ hg debugsuccessorssets --hidden 'all()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   561
  d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   562
      d20a80d4def3
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   563
  007dc284c1f8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   564
      01f36c5a8fda a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   565
  82623d38b9ba
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   566
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   567
  392fd25390da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   568
      a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   569
  01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   570
      01f36c5a8fda
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   571
  6a411f0d7a0a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   572
      a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   573
  e442cfc57690
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   574
      a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   575
  3750ebee865d
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   576
      a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   577
  7ae126973a96
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   578
      a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   579
  14608b260df8
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   580
      a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   581
  bed64f5d2f5a
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   582
      a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   583
  a139f71be9da
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   584
      a139f71be9da
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   585
  $ hg debugsuccessorssets 'all()' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   586
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   587
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   588
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   589
      01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   590
  a139f71be9da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   591
      a139f71be9da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   592
  $ hg debugsuccessorssets 'all()' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   593
  d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   594
      d20a80d4def3
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   595
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   596
      82623d38b9ba 392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   597
  82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   598
      82623d38b9ba
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   599
  392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   600
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   601
  01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   602
      01f36c5a8fda
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   603
  6a411f0d7a0a
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   604
      e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   605
  e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   606
      e442cfc57690
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   607
  3750ebee865d
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   608
      392fd25390da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   609
  7ae126973a96
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
  14608b260df8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   612
      a139f71be9da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   613
  bed64f5d2f5a
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   614
      a139f71be9da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   615
  a139f71be9da
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   616
      a139f71be9da
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
   617
  $ hg log -r 'contentdivergent()'
18068
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   618
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   619
  $ cd ..
4bec77e62c00 obsolete: compute successors set
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   620
18069
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   621
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   622
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
   623
------------------------------
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   624
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   625
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
   626
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
   627
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   628
  $ 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
   629
  $ 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
   630
  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
   631
  $ 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
   632
  $ 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
   633
  007dc284c1f8
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   634
      82623d38b9ba 392fd25390da
33274
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   635
  $ hg debugsuccessorssets 'desc('A_0')' --closest
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   636
  $ hg debugsuccessorssets 'desc('A_0')' --closest --hidden
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   637
  007dc284c1f8
68f3e819d41d obsolete: closest divergent support
Boris Feld <boris.feld@octobus.net>
parents: 22955
diff changeset
   638
      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
   639
f84e731cbd20 obsolete: drop successors sets which are subset of another one
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18068
diff changeset
   640
  $ cd ..
33330
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   641
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   642
Use scmutil.cleanupnodes API to create divergence
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   643
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   644
  $ hg init cleanupnodes
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   645
  $ cd cleanupnodes
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   646
  $ hg debugdrawdag <<'EOS'
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   647
  >   B1  B3 B4
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   648
  >   |     \|
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   649
  >   A      Z
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   650
  > EOS
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   651
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   652
  $ hg update -q B1
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   653
  $ echo 3 >> B
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   654
  $ hg commit --amend -m B2
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   655
  $ cat > $TESTTMP/scmutilcleanup.py <<EOF
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   656
  > from mercurial import registrar, scmutil
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   657
  > cmdtable = {}
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   658
  > command = registrar.command(cmdtable)
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   659
  > @command('cleanup')
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   660
  > def cleanup(ui, repo):
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   661
  >     def node(expr):
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   662
  >         unfi = repo.unfiltered()
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   663
  >         rev = unfi.revs(expr).first()
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   664
  >         return unfi.changelog.node(rev)
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   665
  >     with repo.wlock(), repo.lock(), repo.transaction('delayedstrip'):
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   666
  >         mapping = {node('desc(B1)'): [node('desc(B3)')],
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   667
  >                    node('desc(B3)'): [node('desc(B4)')]}
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   668
  >         scmutil.cleanupnodes(repo, mapping, 'test')
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   669
  > EOF
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   670
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   671
  $ rm .hg/localtags
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   672
  $ hg cleanup --config extensions.t=$TESTTMP/scmutilcleanup.py
33709
511d6ae462f3 template: rename troubles templatekw into instabilities
Boris Feld <boris.feld@octobus.net>
parents: 33688
diff changeset
   673
  $ 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
   674
  @  5:1a2a9b5b0030 B2 content-divergent
33330
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   675
  |
33688
2194a8723138 evolution: rename divergent to content-divergent
Boris Feld <boris.feld@octobus.net>
parents: 33542
diff changeset
   676
  | o  4:70d5a63ca112 B4 content-divergent
33330
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   677
  | |
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   678
  | o  1:48b9aae0607f Z
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   679
  |
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   680
  o  0:426bada5c675 A
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   681
  
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   682
  $ hg debugobsolete
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   683
  a178212c3433c4e77b573f6011e29affb8aefa33 1a2a9b5b0030632400aa78e00388c20f99d3ec44 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   684
  a178212c3433c4e77b573f6011e29affb8aefa33 ad6478fb94ecec98b86daae98722865d494ac561 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
ba43e5ee9c6d scmutil: make cleanupnodes handle filtered node
Jun Wu <quark@fb.com>
parents: 33274
diff changeset
   685
  ad6478fb94ecec98b86daae98722865d494ac561 70d5a63ca112acb3764bc1d7320ca90ea688d671 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}