tests/test-generaldelta.t
author Manuel Jacob <me@manueljacob.de>
Sun, 22 May 2022 03:50:34 +0200
changeset 49269 395f28064826
parent 49221 75d0775dce7f
child 50381 2cf264e9aa75
permissions -rw-r--r--
worker: avoid potential partial write of pickled data Previously, the code wrote the pickled data using os.write(). However, os.write() can write less bytes than passed to it. To trigger the problem, the pickled data had to be larger than 2147479552 bytes on my system. Instead, open a file object and pass it to pickle.dump(). This also has the advantage that it doesn’t buffer the whole pickled data in memory. Note that the opened file must be buffered because pickle doesn’t support unbuffered streams because unbuffered streams’ write() method might write less bytes than passed to it (like os.write()) but pickle.dump() relies on that all bytes are written (see https://github.com/python/cpython/issues/93050). The side effect of using a file object and a with statement is that wfd is explicitly closed now while it seems like before it was implicitly closed by process exit.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
37343
0611c954da90 tests: skip some tests when using simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37281
diff changeset
     1
#require no-reposimplestore
0611c954da90 tests: skip some tests when using simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37281
diff changeset
     2
19764
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
     3
Check whether size of generaldelta revlog is not bigger than its
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
     4
regular equivalent. Test would fail if generaldelta was naive
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
     5
implementation of parentdelta: third manifest revision would be fully
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
     6
inserted due to big distance from its paren revision (zero).
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
     7
40885
0d62c3149fb9 test: explicitly disable sparse-revlog in test-generaldelta.t
Boris Feld <boris.feld@octobus.net>
parents: 40445
diff changeset
     8
  $ cat << EOF >> $HGRCPATH
0d62c3149fb9 test: explicitly disable sparse-revlog in test-generaldelta.t
Boris Feld <boris.feld@octobus.net>
parents: 40445
diff changeset
     9
  > [format]
0d62c3149fb9 test: explicitly disable sparse-revlog in test-generaldelta.t
Boris Feld <boris.feld@octobus.net>
parents: 40445
diff changeset
    10
  > sparse-revlog = no
0d62c3149fb9 test: explicitly disable sparse-revlog in test-generaldelta.t
Boris Feld <boris.feld@octobus.net>
parents: 40445
diff changeset
    11
  > EOF
0d62c3149fb9 test: explicitly disable sparse-revlog in test-generaldelta.t
Boris Feld <boris.feld@octobus.net>
parents: 40445
diff changeset
    12
26913
f43689badeff test: enforce non-generaldelta base repository in 'test-generaldelta'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26907
diff changeset
    13
  $ hg init repo --config format.generaldelta=no --config format.usegeneraldelta=no
19764
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
    14
  $ cd repo
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
    15
  $ echo foo > foo
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
    16
  $ echo bar > bar
27190
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
    17
  $ echo baz > baz
19764
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
    18
  $ hg commit -q -Am boo
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
    19
  $ hg clone --pull . ../gdrepo -q --config format.generaldelta=yes
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
    20
  $ for r in 1 2 3; do
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
    21
  >   echo $r > foo
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
    22
  >   hg commit -q -m $r
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
    23
  >   hg up -q -r 0
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
    24
  >   hg pull . -q -r $r -R ../gdrepo
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
    25
  > done
19942
2c886dedd902 tests: move generaldelta test to inline python (issue4064)
Matt Mackall <mpm@selenic.com>
parents: 19888
diff changeset
    26
19764
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
    27
  $ cd ..
19942
2c886dedd902 tests: move generaldelta test to inline python (issue4064)
Matt Mackall <mpm@selenic.com>
parents: 19888
diff changeset
    28
  >>> import os
2c886dedd902 tests: move generaldelta test to inline python (issue4064)
Matt Mackall <mpm@selenic.com>
parents: 19888
diff changeset
    29
  >>> regsize = os.stat("repo/.hg/store/00manifest.i").st_size
2c886dedd902 tests: move generaldelta test to inline python (issue4064)
Matt Mackall <mpm@selenic.com>
parents: 19888
diff changeset
    30
  >>> gdsize = os.stat("gdrepo/.hg/store/00manifest.i").st_size
2c886dedd902 tests: move generaldelta test to inline python (issue4064)
Matt Mackall <mpm@selenic.com>
parents: 19888
diff changeset
    31
  >>> if regsize < gdsize:
29485
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 27251
diff changeset
    32
  ...     print('generaldata increased size of manifest')
23381
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    33
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    34
Verify rev reordering doesnt create invalid bundles (issue4462)
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    35
This requires a commit tree that when pulled will reorder manifest revs such
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    36
that the second manifest to create a file rev will be ordered before the first
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    37
manifest to create that file rev. We also need to do a partial pull to ensure
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    38
reordering happens. At the end we verify the linkrev points at the earliest
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    39
commit.
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    40
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    41
  $ hg init server --config format.generaldelta=True
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    42
  $ cd server
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    43
  $ touch a
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    44
  $ hg commit -Aqm a
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    45
  $ echo x > x
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    46
  $ echo y > y
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    47
  $ hg commit -Aqm xy
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    48
  $ hg up -q '.^'
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    49
  $ echo x > x
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    50
  $ echo z > z
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    51
  $ hg commit -Aqm xz
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    52
  $ hg up -q 1
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    53
  $ echo b > b
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    54
  $ hg commit -Aqm b
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    55
  $ hg merge -q 2
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    56
  $ hg commit -Aqm merge
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    57
  $ echo c > c
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    58
  $ hg commit -Aqm c
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    59
  $ hg log -G -T '{rev} {shortest(node)} {desc}'
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    60
  @  5 ebb8 c
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    61
  |
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    62
  o    4 baf7 merge
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    63
  |\
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    64
  | o  3 a129 b
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    65
  | |
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    66
  o |  2 958c xz
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    67
  | |
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    68
  | o  1 f00c xy
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    69
  |/
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    70
  o  0 3903 a
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    71
  
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    72
  $ cd ..
26913
f43689badeff test: enforce non-generaldelta base repository in 'test-generaldelta'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26907
diff changeset
    73
  $ hg init client --config format.generaldelta=false --config format.usegeneraldelta=false
23381
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    74
  $ cd client
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    75
  $ hg pull -q ../server -r 4
37281
806b07d7c7d6 tests: use debugdeltachain where appropriate
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36965
diff changeset
    76
  $ hg debugdeltachain x
49221
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
    77
      rev      p1      p2  chain# chainlen     prev   delta       size    rawsize  chainsize     ratio   lindist extradist extraratio
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
    78
        0      -1      -1       1        1       -1    base          3          2          3   1.50000         3         0    0.00000
23381
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
    79
26118
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
    80
  $ cd ..
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
    81
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
    82
Test "usegeneraldelta" config
30332
318a24b52eeb spelling: fixes of non-dictionary words
Mads Kiilerich <madski@unity3d.com>
parents: 29593
diff changeset
    83
(repo are general delta, but incoming bundle are not re-deltafied)
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
    84
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
    85
delta coming from the server base delta server are not recompressed.
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
    86
(also include the aggressive version for comparison)
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
    87
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
    88
  $ hg clone repo --pull --config format.usegeneraldelta=1 usegd
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
    89
  requesting all changes
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
    90
  adding changesets
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
    91
  adding manifests
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
    92
  adding file changes
27190
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
    93
  added 4 changesets with 6 changes to 3 files (+2 heads)
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34025
diff changeset
    94
  new changesets 0ea3fcf9d01d:bba78d330d9c
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
    95
  updating to branch default
27190
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
    96
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
    97
  $ hg clone repo --pull --config format.generaldelta=1 full
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
    98
  requesting all changes
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
    99
  adding changesets
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
   100
  adding manifests
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
   101
  adding file changes
27190
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
   102
  added 4 changesets with 6 changes to 3 files (+2 heads)
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34025
diff changeset
   103
  new changesets 0ea3fcf9d01d:bba78d330d9c
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
   104
  updating to branch default
27190
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
   105
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
37281
806b07d7c7d6 tests: use debugdeltachain where appropriate
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36965
diff changeset
   106
  $ hg -R repo debugdeltachain -m
49221
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   107
      rev      p1      p2  chain# chainlen     prev   delta       size    rawsize  chainsize     ratio   lindist extradist extraratio
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   108
        0      -1      -1       1        1       -1    base        10?        135        10?   0.7????       10?         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   109
        1       0      -1       1        2        0    prev         57        135        1??   1.?????       16?         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   110
        2       0      -1       1        3        1    prev         57        135        2??   1.6????       2??         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   111
        3       0      -1       2        1       -1    base        104        135        104   0.77037       104         0    0.00000
37281
806b07d7c7d6 tests: use debugdeltachain where appropriate
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36965
diff changeset
   112
  $ hg -R usegd debugdeltachain -m
49221
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   113
      rev      p1      p2  chain# chainlen     prev   delta       size    rawsize  chainsize     ratio   lindist extradist extraratio
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   114
        0      -1      -1       1        1       -1    base        10?        135        10?   0.7????       10?         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   115
        1       0      -1       1        2        0      p1         57        135        16?   1.?????       16?         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   116
        2       0      -1       1        3        1    prev         57        135        2??   1.6????       2??         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   117
        3       0      -1       1        2        0      p1         57        135        16?   1.?????       27?       114    0.????? (glob)
37281
806b07d7c7d6 tests: use debugdeltachain where appropriate
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36965
diff changeset
   118
  $ hg -R full debugdeltachain -m
49221
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   119
      rev      p1      p2  chain# chainlen     prev   delta       size    rawsize  chainsize     ratio   lindist extradist extraratio
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   120
        0      -1      -1       1        1       -1    base        10?        135        10?   0.7????       10?         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   121
        1       0      -1       1        2        0      p1         57        135        16?   1.?????       16?         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   122
        2       0      -1       1        2        0      p1         57        135        16?   1.?????       2??        57    0.3???? (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   123
        3       0      -1       1        2        0      p1         57        135        16?   1.?????       27?       114    0.????? (glob)
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
   124
38737
913ca175c4ae aggressivemergedelta: document rename and move to `revlog` section
Boris Feld <boris.feld@octobus.net>
parents: 38646
diff changeset
   125
Test revlog.optimize-delta-parent-choice
26118
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   126
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   127
  $ hg init --config format.generaldelta=1 aggressive
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   128
  $ cd aggressive
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
   129
  $ cat << EOF >> .hg/hgrc
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
   130
  > [format]
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
   131
  > generaldelta = 1
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
   132
  > EOF
26118
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   133
  $ touch a b c d e
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   134
  $ hg commit -Aqm side1
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   135
  $ hg up -q null
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   136
  $ touch x y
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   137
  $ hg commit -Aqm side2
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   138
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   139
- Verify non-aggressive merge uses p1 (commit 1) as delta parent
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   140
  $ hg merge -q 0
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   141
  $ hg commit -q -m merge
37281
806b07d7c7d6 tests: use debugdeltachain where appropriate
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36965
diff changeset
   142
  $ hg debugdeltachain -m
49221
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   143
      rev      p1      p2  chain# chainlen     prev   delta       size    rawsize  chainsize     ratio   lindist extradist extraratio
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   144
        0      -1      -1       1        1       -1    base         ??        215         ??   0.?????        ??         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   145
        1      -1      -1       1        2        0    prev         ??         86        1??   1.?????       1??         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   146
        2       1       0       1        2        0      p2         ??        301        1??   0.4????       ???        ??    0.5???? (glob)
26118
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   147
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   148
  $ hg strip -q -r . --config extensions.strip=
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   149
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   150
- Verify aggressive merge uses p2 (commit 0) as delta parent
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   151
  $ hg up -q -C 1
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   152
  $ hg merge -q 0
38744
ae17555ef93f config: rename `revlog` section into `storage`
Boris Feld <boris.feld@octobus.net>
parents: 38737
diff changeset
   153
  $ hg commit -q -m merge --config storage.revlog.optimize-delta-parent-choice=yes
37281
806b07d7c7d6 tests: use debugdeltachain where appropriate
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36965
diff changeset
   154
  $ hg debugdeltachain -m
49221
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   155
      rev      p1      p2  chain# chainlen     prev   delta       size    rawsize  chainsize     ratio   lindist extradist extraratio
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   156
        0      -1      -1       1        1       -1    base         ??        215         ??   0.?????        ??         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   157
        1      -1      -1       1        2        0    prev         ??         86        1??   1.?????       1??         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   158
        2       1       0       1        2        0      p2         ??        301        1??   0.4????       ???        ??    0.5???? (glob)
26118
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   159
26423
c93f91c1db1c strip: use bundle2 + cg2 by default when repository use general delta
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26118
diff changeset
   160
Test that strip bundle use bundle2
c93f91c1db1c strip: use bundle2 + cg2 by default when repository use general delta
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26118
diff changeset
   161
  $ hg --config extensions.strip= strip .
c93f91c1db1c strip: use bundle2 + cg2 by default when repository use general delta
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26118
diff changeset
   162
  0 files updated, 0 files merged, 5 files removed, 0 files unresolved
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   163
  saved backup bundle to $TESTTMP/aggressive/.hg/strip-backup/1c5d4dc9a8b8-6c68e60c-backup.hg
26423
c93f91c1db1c strip: use bundle2 + cg2 by default when repository use general delta
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26118
diff changeset
   164
  $ hg debugbundle .hg/strip-backup/*
34025
626a28f30dbd debugcommands: stabilize output of debugbundle by having a custom repr
Augie Fackler <raf@durin42.com>
parents: 33260
diff changeset
   165
  Stream params: {Compression: BZ}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 37343
diff changeset
   166
  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
26423
c93f91c1db1c strip: use bundle2 + cg2 by default when repository use general delta
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26118
diff changeset
   167
      1c5d4dc9a8b8d6e1750966d343e94db665e7a1e9
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
   168
  cache:rev-branch-cache -- {} (mandatory: False)
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 37343
diff changeset
   169
  phase-heads -- {} (mandatory: True)
33032
8e3021fd1a44 strip: include phases in bundle (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 30332
diff changeset
   170
      1c5d4dc9a8b8d6e1750966d343e94db665e7a1e9 draft
26423
c93f91c1db1c strip: use bundle2 + cg2 by default when repository use general delta
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26118
diff changeset
   171
26118
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
   172
  $ cd ..
33207
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   173
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   174
test maxdeltachainspan
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   175
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   176
  $ hg init source-repo
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   177
  $ cd source-repo
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   178
  $ hg debugbuilddag --new-file '.+5:brancha$.+11:branchb$.+30:branchc<brancha+2<branchb+2'
38646
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   179
# add an empty revision somewhere
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   180
  $ hg up tip
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   181
  14 files updated, 0 files merged, 0 files removed, 0 files unresolved
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   182
  $ hg rm .
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   183
  removing nf10
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   184
  removing nf11
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   185
  removing nf12
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   186
  removing nf13
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   187
  removing nf14
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   188
  removing nf15
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   189
  removing nf16
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   190
  removing nf17
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   191
  removing nf51
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   192
  removing nf52
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   193
  removing nf6
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   194
  removing nf7
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   195
  removing nf8
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   196
  removing nf9
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   197
  $ hg commit -m 'empty all'
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   198
  $ hg revert --all --rev 'p1(.)'
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   199
  adding nf10
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   200
  adding nf11
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   201
  adding nf12
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   202
  adding nf13
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   203
  adding nf14
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   204
  adding nf15
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   205
  adding nf16
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   206
  adding nf17
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   207
  adding nf51
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   208
  adding nf52
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   209
  adding nf6
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   210
  adding nf7
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   211
  adding nf8
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   212
  adding nf9
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   213
  $ hg commit -m 'restore all'
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   214
  $ hg up null
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   215
  0 files updated, 0 files merged, 14 files removed, 0 files unresolved
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   216
  $ 
33207
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   217
  $ cd ..
37281
806b07d7c7d6 tests: use debugdeltachain where appropriate
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36965
diff changeset
   218
  $ hg -R source-repo debugdeltachain -m
49221
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   219
      rev      p1      p2  chain# chainlen     prev   delta       size    rawsize  chainsize     ratio   lindist extradist extraratio
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   220
        0      -1      -1       1        1       -1    base         46         45         46   1.02222        46         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   221
        1       0      -1       1        2        0      p1         57         90        103   1.14444       103         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   222
        2       1      -1       1        3        1      p1         57        135        160   1.18519       160         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   223
        3       2      -1       1        4        2      p1         57        180        217   1.20556       217         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   224
        4       3      -1       1        5        3      p1         57        225        274   1.21778       274         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   225
        5       4      -1       1        6        4      p1         57        270        331   1.22593       331         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   226
        6      -1      -1       2        1       -1    base         46         45         46   1.02222        46         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   227
        7       6      -1       2        2        6      p1         57         90        103   1.14444       103         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   228
        8       7      -1       2        3        7      p1         57        135        160   1.18519       160         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   229
        9       8      -1       2        4        8      p1         57        180        217   1.20556       217         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   230
       10       9      -1       2        5        9      p1         58        226        275   1.21681       275         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   231
       11      10      -1       2        6       10      p1         58        272        333   1.22426       333         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   232
       12      11      -1       2        7       11      p1         58        318        391   1.22956       391         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   233
       13      12      -1       2        8       12      p1         58        364        449   1.23352       449         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   234
       14      13      -1       2        9       13      p1         58        410        507   1.23659       507         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   235
       15      14      -1       2       10       14      p1         58        456        565   1.23904       565         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   236
       16      15      -1       2       11       15      p1         58        502        623   1.24104       623         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   237
       17      16      -1       2       12       16      p1         58        548        681   1.24270       681         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   238
       18      -1      -1       3        1       -1    base         47         46         47   1.02174        47         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   239
       19      18      -1       3        2       18      p1         58         92        105   1.14130       105         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   240
       20      19      -1       3        3       19      p1         58        138        163   1.18116       163         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   241
       21      20      -1       3        4       20      p1         58        184        221   1.20109       221         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   242
       22      21      -1       3        5       21      p1         58        230        279   1.21304       279         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   243
       23      22      -1       3        6       22      p1         58        276        337   1.22101       337         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   244
       24      23      -1       3        7       23      p1         58        322        395   1.22671       395         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   245
       25      24      -1       3        8       24      p1         58        368        453   1.23098       453         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   246
       26      25      -1       3        9       25      p1         58        414        511   1.23430       511         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   247
       27      26      -1       3       10       26      p1         58        460        569   1.23696       569         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   248
       28      27      -1       3       11       27      p1         58        506        627   1.23913       627         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   249
       29      28      -1       3       12       28      p1         58        552        685   1.24094       685         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   250
       30      29      -1       3       13       29      p1         58        598        743   1.24247       743         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   251
       31      30      -1       3       14       30      p1         58        644        801   1.24379       801         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   252
       32      31      -1       3       15       31      p1         58        690        859   1.24493       859         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   253
       33      32      -1       3       16       32      p1         58        736        917   1.24592       917         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   254
       34      33      -1       3       17       33      p1         58        782        975   1.24680       975         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   255
       35      34      -1       3       18       34      p1         58        828       1033   1.24758      1033         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   256
       36      35      -1       3       19       35      p1         58        874       1091   1.24828      1091         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   257
       37      36      -1       3       20       36      p1         58        920       1149   1.24891      1149         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   258
       38      37      -1       3       21       37      p1         58        966       1207   1.24948      1207         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   259
       39      38      -1       3       22       38      p1         58       1012       1265   1.25000      1265         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   260
       40      39      -1       3       23       39      p1         58       1058       1323   1.25047      1323         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   261
       41      40      -1       3       24       40      p1         58       1104       1381   1.25091      1381         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   262
       42      41      -1       3       25       41      p1         58       1150       1439   1.25130      1439         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   263
       43      42      -1       3       26       42      p1         58       1196       1497   1.25167      1497         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   264
       44      43      -1       3       27       43      p1         58       1242       1555   1.25201      1555         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   265
       45      44      -1       3       28       44      p1         58       1288       1613   1.25233      1613         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   266
       46      45      -1       3       29       45      p1         58       1334       1671   1.25262      1671         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   267
       47      46      -1       3       30       46      p1         58       1380       1729   1.25290      1729         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   268
       48      47      -1       3       31       47      p1         58       1426       1787   1.25316      1787         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   269
       49       5      -1       4        1       -1    base        ???        316        ???   0.6????       ???         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   270
       50      49      -1       4        2       49      p1         58        362        2??   0.7????       2??         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   271
       51      17      -1       4        3       50    prev        3??        5??        6??   1.0????       6??         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   272
       52      51      -1       4        4       51      p1         58        640        6??   1.0????       6??         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   273
       53      52      -1       5        1       -1    base          0          0          0   0.00000         0         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   274
       54      53      -1       6        1       -1    base        3??        640        3??   0.5????       3??         0    0.00000 (glob)
33207
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   275
  $ hg clone --pull source-repo --config experimental.maxdeltachainspan=2800 relax-chain --config format.generaldelta=yes
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   276
  requesting all changes
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   277
  adding changesets
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   278
  adding manifests
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   279
  adding file changes
38646
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   280
  added 55 changesets with 53 changes to 53 files (+2 heads)
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   281
  new changesets 61246295ee1e:c930ac4a5b32
33207
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   282
  updating to branch default
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   283
  14 files updated, 0 files merged, 0 files removed, 0 files unresolved
37281
806b07d7c7d6 tests: use debugdeltachain where appropriate
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36965
diff changeset
   284
  $ hg -R relax-chain debugdeltachain -m
49221
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   285
      rev      p1      p2  chain# chainlen     prev   delta       size    rawsize  chainsize     ratio   lindist extradist extraratio
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   286
        0      -1      -1       1        1       -1    base         46         45         46   1.02222        46         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   287
        1       0      -1       1        2        0      p1         57         90        103   1.14444       103         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   288
        2       1      -1       1        3        1      p1         57        135        160   1.18519       160         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   289
        3       2      -1       1        4        2      p1         57        180        217   1.20556       217         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   290
        4       3      -1       1        5        3      p1         57        225        274   1.21778       274         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   291
        5       4      -1       1        6        4      p1         57        270        331   1.22593       331         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   292
        6      -1      -1       2        1       -1    base         46         45         46   1.02222        46         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   293
        7       6      -1       2        2        6      p1         57         90        103   1.14444       103         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   294
        8       7      -1       2        3        7      p1         57        135        160   1.18519       160         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   295
        9       8      -1       2        4        8      p1         57        180        217   1.20556       217         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   296
       10       9      -1       2        5        9      p1         58        226        275   1.21681       275         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   297
       11      10      -1       2        6       10      p1         58        272        333   1.22426       333         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   298
       12      11      -1       2        7       11      p1         58        318        391   1.22956       391         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   299
       13      12      -1       2        8       12      p1         58        364        449   1.23352       449         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   300
       14      13      -1       2        9       13      p1         58        410        507   1.23659       507         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   301
       15      14      -1       2       10       14      p1         58        456        565   1.23904       565         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   302
       16      15      -1       2       11       15      p1         58        502        623   1.24104       623         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   303
       17      16      -1       2       12       16      p1         58        548        681   1.24270       681         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   304
       18      -1      -1       3        1       -1    base         47         46         47   1.02174        47         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   305
       19      18      -1       3        2       18      p1         58         92        105   1.14130       105         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   306
       20      19      -1       3        3       19      p1         58        138        163   1.18116       163         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   307
       21      20      -1       3        4       20      p1         58        184        221   1.20109       221         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   308
       22      21      -1       3        5       21      p1         58        230        279   1.21304       279         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   309
       23      22      -1       3        6       22      p1         58        276        337   1.22101       337         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   310
       24      23      -1       3        7       23      p1         58        322        395   1.22671       395         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   311
       25      24      -1       3        8       24      p1         58        368        453   1.23098       453         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   312
       26      25      -1       3        9       25      p1         58        414        511   1.23430       511         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   313
       27      26      -1       3       10       26      p1         58        460        569   1.23696       569         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   314
       28      27      -1       3       11       27      p1         58        506        627   1.23913       627         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   315
       29      28      -1       3       12       28      p1         58        552        685   1.24094       685         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   316
       30      29      -1       3       13       29      p1         58        598        743   1.24247       743         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   317
       31      30      -1       3       14       30      p1         58        644        801   1.24379       801         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   318
       32      31      -1       3       15       31      p1         58        690        859   1.24493       859         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   319
       33      32      -1       3       16       32      p1         58        736        917   1.24592       917         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   320
       34      33      -1       3       17       33      p1         58        782        975   1.24680       975         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   321
       35      34      -1       3       18       34      p1         58        828       1033   1.24758      1033         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   322
       36      35      -1       3       19       35      p1         58        874       1091   1.24828      1091         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   323
       37      36      -1       3       20       36      p1         58        920       1149   1.24891      1149         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   324
       38      37      -1       3       21       37      p1         58        966       1207   1.24948      1207         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   325
       39      38      -1       3       22       38      p1         58       1012       1265   1.25000      1265         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   326
       40      39      -1       3       23       39      p1         58       1058       1323   1.25047      1323         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   327
       41      40      -1       3       24       40      p1         58       1104       1381   1.25091      1381         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   328
       42      41      -1       3       25       41      p1         58       1150       1439   1.25130      1439         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   329
       43      42      -1       3       26       42      p1         58       1196       1497   1.25167      1497         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   330
       44      43      -1       3       27       43      p1         58       1242       1555   1.25201      1555         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   331
       45      44      -1       3       28       44      p1         58       1288       1613   1.25233      1613         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   332
       46      45      -1       3       29       45      p1         58       1334       1671   1.25262      1671         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   333
       47      46      -1       3       30       46      p1         58       1380       1729   1.25290      1729         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   334
       48      47      -1       3       31       47      p1         58       1426       1787   1.25316      1787         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   335
       49       5      -1       4        1       -1    base        ???        316        ???   0.6????       ???         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   336
       50      49      -1       4        2       49      p1         58        362        2??   0.7????       2??         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   337
       51      17      -1       2       13       17      p1         58        594        739   1.24411      278?      20??    2.7???? (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   338
       52      51      -1       5        1       -1    base        3??        640        3??   0.5????       3??         0    0.00000 (glob)
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   339
       53      52      -1       6        1       -1    base          0          0          0   0.00000         0         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   340
       54      53      -1       7        1       -1    base        3??        640        3??   0.5????       3??         0    0.00000 (glob)
41818
f6eff9e4de80 storage: introduce a `revlog.reuse-external-delta-parent` config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 40885
diff changeset
   341
  $ hg clone --pull source-repo --config experimental.maxdeltachainspan=0 noconst-chain --config format.usegeneraldelta=yes --config storage.revlog.reuse-external-delta-parent=no
33207
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   342
  requesting all changes
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   343
  adding changesets
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   344
  adding manifests
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   345
  adding file changes
38646
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   346
  added 55 changesets with 53 changes to 53 files (+2 heads)
93313f66b69b debugdeltachain: avoid division by zero when a chain is empty
Paul Morelle <paul.morelle@octobus.net>
parents: 38602
diff changeset
   347
  new changesets 61246295ee1e:c930ac4a5b32
33207
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   348
  updating to branch default
895ecec31c70 revlog: add an experimental option to mitigated delta issues (issue5480)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33032
diff changeset
   349
  14 files updated, 0 files merged, 0 files removed, 0 files unresolved
37281
806b07d7c7d6 tests: use debugdeltachain where appropriate
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36965
diff changeset
   350
  $ hg -R noconst-chain debugdeltachain -m
49221
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   351
      rev      p1      p2  chain# chainlen     prev   delta       size    rawsize  chainsize     ratio   lindist extradist extraratio
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   352
        0      -1      -1       1        1       -1    base         46         45         46   1.02222        46         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   353
        1       0      -1       1        2        0      p1         57         90        103   1.14444       103         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   354
        2       1      -1       1        3        1      p1         57        135        160   1.18519       160         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   355
        3       2      -1       1        4        2      p1         57        180        217   1.20556       217         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   356
        4       3      -1       1        5        3      p1         57        225        274   1.21778       274         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   357
        5       4      -1       1        6        4      p1         57        270        331   1.22593       331         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   358
        6      -1      -1       2        1       -1    base         46         45         46   1.02222        46         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   359
        7       6      -1       2        2        6      p1         57         90        103   1.14444       103         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   360
        8       7      -1       2        3        7      p1         57        135        160   1.18519       160         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   361
        9       8      -1       2        4        8      p1         57        180        217   1.20556       217         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   362
       10       9      -1       2        5        9      p1         58        226        275   1.21681       275         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   363
       11      10      -1       2        6       10      p1         58        272        333   1.22426       333         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   364
       12      11      -1       2        7       11      p1         58        318        391   1.22956       391         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   365
       13      12      -1       2        8       12      p1         58        364        449   1.23352       449         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   366
       14      13      -1       2        9       13      p1         58        410        507   1.23659       507         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   367
       15      14      -1       2       10       14      p1         58        456        565   1.23904       565         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   368
       16      15      -1       2       11       15      p1         58        502        623   1.24104       623         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   369
       17      16      -1       2       12       16      p1         58        548        681   1.24270       681         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   370
       18      -1      -1       3        1       -1    base         47         46         47   1.02174        47         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   371
       19      18      -1       3        2       18      p1         58         92        105   1.14130       105         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   372
       20      19      -1       3        3       19      p1         58        138        163   1.18116       163         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   373
       21      20      -1       3        4       20      p1         58        184        221   1.20109       221         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   374
       22      21      -1       3        5       21      p1         58        230        279   1.21304       279         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   375
       23      22      -1       3        6       22      p1         58        276        337   1.22101       337         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   376
       24      23      -1       3        7       23      p1         58        322        395   1.22671       395         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   377
       25      24      -1       3        8       24      p1         58        368        453   1.23098       453         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   378
       26      25      -1       3        9       25      p1         58        414        511   1.23430       511         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   379
       27      26      -1       3       10       26      p1         58        460        569   1.23696       569         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   380
       28      27      -1       3       11       27      p1         58        506        627   1.23913       627         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   381
       29      28      -1       3       12       28      p1         58        552        685   1.24094       685         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   382
       30      29      -1       3       13       29      p1         58        598        743   1.24247       743         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   383
       31      30      -1       3       14       30      p1         58        644        801   1.24379       801         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   384
       32      31      -1       3       15       31      p1         58        690        859   1.24493       859         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   385
       33      32      -1       3       16       32      p1         58        736        917   1.24592       917         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   386
       34      33      -1       3       17       33      p1         58        782        975   1.24680       975         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   387
       35      34      -1       3       18       34      p1         58        828       1033   1.24758      1033         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   388
       36      35      -1       3       19       35      p1         58        874       1091   1.24828      1091         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   389
       37      36      -1       3       20       36      p1         58        920       1149   1.24891      1149         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   390
       38      37      -1       3       21       37      p1         58        966       1207   1.24948      1207         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   391
       39      38      -1       3       22       38      p1         58       1012       1265   1.25000      1265         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   392
       40      39      -1       3       23       39      p1         58       1058       1323   1.25047      1323         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   393
       41      40      -1       3       24       40      p1         58       1104       1381   1.25091      1381         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   394
       42      41      -1       3       25       41      p1         58       1150       1439   1.25130      1439         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   395
       43      42      -1       3       26       42      p1         58       1196       1497   1.25167      1497         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   396
       44      43      -1       3       27       43      p1         58       1242       1555   1.25201      1555         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   397
       45      44      -1       3       28       44      p1         58       1288       1613   1.25233      1613         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   398
       46      45      -1       3       29       45      p1         58       1334       1671   1.25262      1671         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   399
       47      46      -1       3       30       46      p1         58       1380       1729   1.25290      1729         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   400
       48      47      -1       3       31       47      p1         58       1426       1787   1.25316      1787         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   401
       49       5      -1       1        7        5      p1         58        316        389   1.23101      2857      2468    6.34447
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   402
       50      49      -1       1        8       49      p1         58        362        447   1.23481      2915      2468    5.52125
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   403
       51      17      -1       2       13       17      p1         58        594        739   1.24411      2642      1903    2.57510
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   404
       52      51      -1       2       14       51      p1         58        640        797   1.24531      2700      1903    2.38770
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   405
       53      52      -1       4        1       -1    base          0          0          0   0.00000         0         0    0.00000
75d0775dce7f debugdeltachain: also display p1/p2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49220
diff changeset
   406
       54      53      -1       5        1       -1    base        3??        640        3??   0.5????       3??         0    0.00000 (glob)