tests/test-obsolete-bundle-strip.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Thu, 25 May 2017 19:37:29 +0200
changeset 32488 176d1a0ce385
parent 32487 f475446b4837
child 32489 248f68c482f2
permissions -rw-r--r--
obsolete: fix relevant-obsmarkers computation on pruned changeset The markers pruning a node was not directly considered relevant for the pruned node, only to its parents. This went unnoticed during obsmarkers exchange because all ancestors of the pruned node would be included in the computation. This still affects obsmarkers exchange a bit since "inline" prune markers would be ignored (see second test case). This went unnoticed, because in such case, we always push another obsolescence markers for that node. We add explicit tests covering this case. (The set of relevant changeset is use in the obsmarkers discovery protocol used in the evolve experimental extension, the impact will be handled on the extension side).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
32487
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     1
==================================================
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     2
Test obsmarkers interaction with bundle and strip
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     3
==================================================
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     4
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     5
In practice, this file does not yet contains any tests for bundle and strip.
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     6
But their will be some soon (tm).
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     7
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     8
For now this test check the logic computing markers relevant to a set of
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     9
revision. That logic will be use by "hg bundle" to select the markers to
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    10
include, and strip to find the markers to backup.
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    11
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    12
Setup a repository with various case
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    13
====================================
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    14
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    15
Config setup
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    16
------------
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    17
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    18
  $ cat >> $HGRCPATH <<EOF
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    19
  > [ui]
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    20
  > # simpler log output
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    21
  > logtemplate = "{node|short}: {desc}\n"
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    22
  > 
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    23
  > [experimental]
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    24
  > # enable evolution
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    25
  > evolution = all
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    26
  > 
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    27
  > # include obsmarkers in bundle
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    28
  > evolution.bundle-obsmarker = yes
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    29
  > 
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    30
  > [extensions]
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    31
  > # needed for some tests
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    32
  > strip =
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    33
  > [defaults]
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    34
  > # we'll query many hidden changeset
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    35
  > debugobsolete = --hidden
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    36
  > EOF
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    37
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    38
  $ mkcommit() {
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    39
  >    echo "$1" > "$1"
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    40
  >    hg add "$1"
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    41
  >    hg ci -m "$1"
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    42
  > }
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    43
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    44
  $ getid() {
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    45
  >    hg log --hidden --template '{node}\n' --rev "$1"
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    46
  > }
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    47
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    48
  $ mktestrepo () {
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    49
  >     [ -n "$1" ] || exit 1
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    50
  >     cd $TESTTMP
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    51
  >     hg init $1
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    52
  >     cd $1
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    53
  >     mkcommit ROOT
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    54
  > }
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    55
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    56
root setup
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    57
-------------
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    58
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    59
simple chain
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    60
============
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    61
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    62
.    A0
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    63
.   ⇠ø⇠◔ A1
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    64
.    |/
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    65
.    ●
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    66
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    67
setup
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    68
-----
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    69
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    70
  $ mktestrepo simple-chain
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    71
  $ mkcommit 'C-A0'
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    72
  $ hg up 'desc("ROOT")'
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    73
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    74
  $ mkcommit 'C-A1'
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    75
  created new head
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    76
  $ hg debugobsolete a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 `getid 'desc("C-A0")'`
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    77
  $ hg debugobsolete `getid 'desc("C-A0")'` a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    78
  $ hg debugobsolete a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 `getid 'desc("C-A1")'`
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    79
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    80
  $ hg up 'desc("ROOT")'
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    81
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    82
  $ hg log --hidden -G
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    83
  o  cf2c22470d67: C-A1
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    84
  |
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    85
  | x  84fcb0dfe17b: C-A0
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    86
  |/
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    87
  @  ea207398892e: ROOT
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    88
  
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    89
  $ hg debugobsolete
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    90
  a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    91
  84fcb0dfe17b256ebae52e05572993b9194c018a a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    92
  a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    93
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    94
Actual testing
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    95
--------------
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    96
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    97
  $ hg debugobsolete --rev 'desc("C-A0")'
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    98
  a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    99
  $ hg debugobsolete --rev 'desc("C-A1")'
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   100
  84fcb0dfe17b256ebae52e05572993b9194c018a a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   101
  a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f475446b4837 test: add a test file for relevant obsmarkers and its usage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   102
  a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
32488
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   103
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   104
chain with prune children
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   105
=========================
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   106
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   107
.  ⇠⊗ B0
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   108
.   |
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   109
.  ⇠ø⇠◔ A1
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   110
.     |
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   111
.     ●
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   112
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   113
setup
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   114
-----
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   115
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   116
  $ mktestrepo prune
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   117
  $ mkcommit 'C-A0'
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   118
  $ mkcommit 'C-B0'
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   119
  $ hg up 'desc("ROOT")'
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   120
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   121
  $ mkcommit 'C-A1'
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   122
  created new head
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   123
  $ hg debugobsolete a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 `getid 'desc("C-A0")'`
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   124
  $ hg debugobsolete `getid 'desc("C-A0")'` `getid 'desc("C-A1")'`
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   125
  $ hg debugobsolete --record-parents `getid 'desc("C-B0")'`
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   126
  $ hg up 'desc("ROOT")'
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   127
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   128
  $ hg log --hidden -G
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   129
  o  cf2c22470d67: C-A1
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   130
  |
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   131
  | x  29f93b1df87b: C-B0
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   132
  | |
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   133
  | x  84fcb0dfe17b: C-A0
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   134
  |/
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   135
  @  ea207398892e: ROOT
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   136
  
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   137
  $ hg debugobsolete
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   138
  a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   139
  84fcb0dfe17b256ebae52e05572993b9194c018a cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   140
  29f93b1df87baee1824e014080d8adf145f81783 0 {84fcb0dfe17b256ebae52e05572993b9194c018a} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   141
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   142
Actual testing
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   143
--------------
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   144
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   145
  $ hg debugobsolete --rev 'desc("C-A0")'
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   146
  29f93b1df87baee1824e014080d8adf145f81783 0 {84fcb0dfe17b256ebae52e05572993b9194c018a} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   147
  a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   148
  $ hg debugobsolete --rev 'desc("C-B0")'
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   149
  29f93b1df87baee1824e014080d8adf145f81783 0 {84fcb0dfe17b256ebae52e05572993b9194c018a} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   150
  $ hg debugobsolete --rev 'desc("C-A1")'
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   151
  29f93b1df87baee1824e014080d8adf145f81783 0 {84fcb0dfe17b256ebae52e05572993b9194c018a} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   152
  84fcb0dfe17b256ebae52e05572993b9194c018a cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   153
  a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   154
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   155
chain with precursors also pruned
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   156
=================================
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   157
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   158
.   A0 (also pruned)
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   159
.  ⇠ø⇠◔ A1
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   160
.     |
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   161
.     ●
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   162
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   163
setup
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   164
-----
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   165
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   166
  $ mktestrepo prune-inline
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   167
  $ mkcommit 'C-A0'
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   168
  $ hg up 'desc("ROOT")'
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   169
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   170
  $ mkcommit 'C-A1'
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   171
  created new head
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   172
  $ hg debugobsolete a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 `getid 'desc("C-A0")'`
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   173
  $ hg debugobsolete --record-parents `getid 'desc("C-A0")'`
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   174
  $ hg debugobsolete `getid 'desc("C-A0")'` `getid 'desc("C-A1")'`
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   175
  $ hg up 'desc("ROOT")'
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   176
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   177
  $ hg log --hidden -G
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   178
  o  cf2c22470d67: C-A1
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   179
  |
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   180
  | x  84fcb0dfe17b: C-A0
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   181
  |/
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   182
  @  ea207398892e: ROOT
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   183
  
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   184
  $ hg debugobsolete
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   185
  a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   186
  84fcb0dfe17b256ebae52e05572993b9194c018a 0 {ea207398892eb49e06441f10dda2a731f0450f20} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   187
  84fcb0dfe17b256ebae52e05572993b9194c018a cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   188
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   189
Actual testing
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   190
--------------
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   191
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   192
  $ hg debugobsolete --rev 'desc("C-A0")'
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   193
  84fcb0dfe17b256ebae52e05572993b9194c018a 0 {ea207398892eb49e06441f10dda2a731f0450f20} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   194
  a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   195
  $ hg debugobsolete --rev 'desc("C-A1")'
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   196
  84fcb0dfe17b256ebae52e05572993b9194c018a 0 {ea207398892eb49e06441f10dda2a731f0450f20} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   197
  84fcb0dfe17b256ebae52e05572993b9194c018a cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
176d1a0ce385 obsolete: fix relevant-obsmarkers computation on pruned changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32487
diff changeset
   198
  a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}