tests/test-sparse-revlog.t
author Manuel Jacob <me@manueljacob.de>
Wed, 01 Jun 2022 01:30:48 +0200
changeset 49312 fce591256085
parent 49228 b909dd35d9ab
child 49353 fa8d974284f8
permissions -rw-r--r--
commit: remove special handling of IOError (actually dead code) In the past, IOError was used to mark a file as removed. The differentiation between OSError and IOError in this place was introduced in e553a425751d, to avoid that “normal” OSErrors / IOErrors accidentally mark files as removed. This weird internal API was removed in 650b5b6e75ed. It seems like that changeset should have removed the differentiation, at least I don’t see any reason for keeping it. On Python 3, OSError and IOError are aliased. Therefore the removed code was actually dead.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     1
====================================
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     2
Test delta choice with sparse revlog
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     3
====================================
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     4
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     5
Sparse-revlog usually shows the most gain on Manifest. However, it is simpler
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     6
to general an appropriate file, so we test with a single file instead. The
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     7
goal is to observe intermediate snapshot being created.
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     8
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     9
We need a large enough file. Part of the content needs to be replaced
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    10
repeatedly while some of it changes rarely.
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    11
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    12
  $ bundlepath="$TESTDIR/artifacts/cache/big-file-churn.hg"
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    13
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    14
  $ expectedhash=`cat "$bundlepath".md5`
41805
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    15
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    16
#if slow
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    17
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    18
  $ if [ ! -f "$bundlepath" ]; then
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    19
  >     "$TESTDIR"/artifacts/scripts/generate-churning-bundle.py > /dev/null
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    20
  > fi
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    21
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    22
#else
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    23
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    24
  $ if [ ! -f "$bundlepath" ]; then
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    25
  >     echo 'skipped: missing artifact, run "'"$TESTDIR"'/artifacts/scripts/generate-churning-bundle.py"'
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    26
  >     exit 80
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    27
  > fi
41805
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    28
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    29
#endif
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    30
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    31
  $ currenthash=`f -M "$bundlepath" | cut -d = -f 2`
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    32
  $ if [ "$currenthash" != "$expectedhash" ]; then
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    33
  >     echo 'skipped: outdated artifact, md5 "'"$currenthash"'" expected "'"$expectedhash"'" run "'"$TESTDIR"'/artifacts/scripts/generate-churning-bundle.py"'
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    34
  >     exit 80
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    35
  > fi
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    36
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    37
  $ cat >> $HGRCPATH << EOF
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    38
  > [format]
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    39
  > sparse-revlog = yes
39506
b66ea3fc3a86 sparse-revlog: set max delta chain length to on thousand
Boris Feld <boris.feld@octobus.net>
parents: 39505
diff changeset
    40
  > maxchainlen = 15
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    41
  > [storage]
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    42
  > revlog.optimize-delta-parent-choice = yes
41819
688fc33e105d storage: introduce a `revlog.reuse-external-delta` config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41818
diff changeset
    43
  > revlog.reuse-external-delta = no
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    44
  > EOF
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    45
  $ hg init sparse-repo
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    46
  $ cd sparse-repo
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    47
  $ hg unbundle $bundlepath
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    48
  adding changesets
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    49
  adding manifests
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    50
  adding file changes
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    51
  added 5001 changesets with 5001 changes to 1 files (+89 heads)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    52
  new changesets 9706f5af64f4:d9032adc8114 (5001 drafts)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    53
  (run 'hg heads' to see heads, 'hg merge' to merge)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    54
  $ hg up
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    55
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    56
  updated to "d9032adc8114: commit #5000"
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    57
  89 other heads for branch "default"
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    58
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    59
  $ hg log --stat -r 0:3
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    60
  changeset:   0:9706f5af64f4
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    61
  user:        test
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    62
  date:        Thu Jan 01 00:00:00 1970 +0000
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    63
  summary:     initial commit
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    64
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    65
   SPARSE-REVLOG-TEST-FILE |  10500 ++++++++++++++++++++++++++++++++++++++++++++++
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    66
   1 files changed, 10500 insertions(+), 0 deletions(-)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    67
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    68
  changeset:   1:724907deaa5e
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    69
  user:        test
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    70
  date:        Thu Jan 01 00:00:00 1970 +0000
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    71
  summary:     commit #1
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    72
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    73
   SPARSE-REVLOG-TEST-FILE |  1068 +++++++++++++++++++++++-----------------------
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    74
   1 files changed, 534 insertions(+), 534 deletions(-)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    75
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    76
  changeset:   2:62c41bce3e5d
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    77
  user:        test
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    78
  date:        Thu Jan 01 00:00:00 1970 +0000
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    79
  summary:     commit #2
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    80
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    81
   SPARSE-REVLOG-TEST-FILE |  1068 +++++++++++++++++++++++-----------------------
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    82
   1 files changed, 534 insertions(+), 534 deletions(-)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    83
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    84
  changeset:   3:348a9cbd6959
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    85
  user:        test
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    86
  date:        Thu Jan 01 00:00:00 1970 +0000
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    87
  summary:     commit #3
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    88
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    89
   SPARSE-REVLOG-TEST-FILE |  1068 +++++++++++++++++++++++-----------------------
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    90
   1 files changed, 534 insertions(+), 534 deletions(-)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    91
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    92
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    93
  $ f -s .hg/store/data/*.d
49225
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
    94
  .hg/store/data/_s_p_a_r_s_e-_r_e_v_l_o_g-_t_e_s_t-_f_i_l_e.d: size=58616973
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    95
  $ hg debugrevlog *
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    96
  format : 1
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    97
  flags  : generaldelta
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    98
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    99
  revisions     :     5001
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   100
      merges    :      625 (12.50%)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   101
      normal    :     4376 (87.50%)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   102
  revisions     :     5001
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   103
      empty     :        0 ( 0.00%)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   104
                     text  :        0 (100.00%)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   105
                     delta :        0 (100.00%)
41794
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   106
      snapshot  :      383 ( 7.66%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   107
        lvl-0   :              3 ( 0.06%)
49225
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   108
        lvl-1   :             18 ( 0.36%)
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   109
        lvl-2   :             62 ( 1.24%)
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   110
        lvl-3   :            108 ( 2.16%)
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   111
        lvl-4   :            191 ( 3.82%)
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   112
        lvl-5   :              1 ( 0.02%)
41794
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   113
      deltas    :     4618 (92.34%)
49225
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   114
  revision size : 58616973
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   115
      snapshot  :  9247844 (15.78%)
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   116
        lvl-0   :         539532 ( 0.92%)
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   117
        lvl-1   :        1467743 ( 2.50%)
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   118
        lvl-2   :        1873820 ( 3.20%)
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   119
        lvl-3   :        2326874 ( 3.97%)
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   120
        lvl-4   :        3029118 ( 5.17%)
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   121
        lvl-5   :          10757 ( 0.02%)
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   122
      deltas    : 49369129 (84.22%)
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   123
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   124
  chunks        :     5001
49225
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   125
      0x28      :     5001 (100.00%)
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   126
  chunks size   : 58616973
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   127
      0x28      : 58616973 (100.00%)
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   128
  
39506
b66ea3fc3a86 sparse-revlog: set max delta chain length to on thousand
Boris Feld <boris.feld@octobus.net>
parents: 39505
diff changeset
   129
  avg chain length  :        9
b66ea3fc3a86 sparse-revlog: set max delta chain length to on thousand
Boris Feld <boris.feld@octobus.net>
parents: 39505
diff changeset
   130
  max chain length  :       15
49225
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   131
  max chain reach   : 27366701
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   132
  compression ratio :       29
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   133
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   134
  uncompressed data size (min/max/avg) : 346468 / 346472 / 346471
49225
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   135
  full revision size (min/max/avg)     : 179288 / 180786 / 179844
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   136
  inter-snapshot size (min/max/avg)    : 10757 / 169507 / 22916
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   137
      level-1   (min/max/avg)          : 13905 / 169507 / 81541
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   138
      level-2   (min/max/avg)          : 10887 / 83873 / 30222
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   139
      level-3   (min/max/avg)          : 10911 / 43047 / 21545
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   140
      level-4   (min/max/avg)          : 10838 / 21390 / 15859
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   141
      level-5   (min/max/avg)          : 10757 / 10757 / 10757
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   142
  delta size (min/max/avg)             : 9672 / 108072 / 10690
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   143
  
49225
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   144
  deltas against prev  : 3906 (84.58%)
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   145
      where prev = p1  : 3906     (100.00%)
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   146
      where prev = p2  :    0     ( 0.00%)
41793
2e92624c3613 test: update test-sparse-revlog.t output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39506
diff changeset
   147
      other            :    0     ( 0.00%)
49225
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   148
  deltas against p1    :  649 (14.05%)
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   149
  deltas against p2    :   63 ( 1.36%)
41794
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   150
  deltas against other :    0 ( 0.00%)
49225
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   151
49228
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   152
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   153
Test `debug-delta-find`
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   154
-----------------------
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   155
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   156
  $ ls -1
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   157
  SPARSE-REVLOG-TEST-FILE
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   158
  $ hg debugdeltachain SPARSE-REVLOG-TEST-FILE | grep other | tail -1
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   159
     4971       3        5     4930   other      19179     346472     427596   1.23414  15994877  15567281   36.40652     427596     179288   1.00000        5
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   160
  $ hg debug-delta-find SPARSE-REVLOG-TEST-FILE 4971
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   161
  DBG-DELTAS-SEARCH: SEARCH rev=4971
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   162
  DBG-DELTAS-SEARCH: ROUND #1 - 2 candidates - search-down
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   163
  DBG-DELTAS-SEARCH:   CANDIDATE: rev=4962
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   164
  DBG-DELTAS-SEARCH:     type=snapshot-4
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   165
  DBG-DELTAS-SEARCH:     size=18296
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   166
  DBG-DELTAS-SEARCH:     base=4930
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   167
  DBG-DELTAS-SEARCH:     uncompressed-delta-size=30377
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   168
  DBG-DELTAS-SEARCH:     delta-search-time=* (glob)
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   169
  DBG-DELTAS-SEARCH:     DELTA: length=16872 (BAD)
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   170
  DBG-DELTAS-SEARCH:   CANDIDATE: rev=4971
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   171
  DBG-DELTAS-SEARCH:     type=snapshot-4
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   172
  DBG-DELTAS-SEARCH:     size=19179
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   173
  DBG-DELTAS-SEARCH:     base=4930
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   174
  DBG-DELTAS-SEARCH:     TOO-HIGH
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   175
  DBG-DELTAS-SEARCH: ROUND #2 - 1 candidates - search-down
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   176
  DBG-DELTAS-SEARCH:   CANDIDATE: rev=4930
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   177
  DBG-DELTAS-SEARCH:     type=snapshot-3
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   178
  DBG-DELTAS-SEARCH:     size=39228
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   179
  DBG-DELTAS-SEARCH:     base=4799
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   180
  DBG-DELTAS-SEARCH:     uncompressed-delta-size=33050
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   181
  DBG-DELTAS-SEARCH:     delta-search-time=* (glob)
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   182
  DBG-DELTAS-SEARCH:     DELTA: length=19179 (GOOD)
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   183
  DBG-DELTAS-SEARCH: ROUND #3 - 1 candidates - refine-down
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   184
  DBG-DELTAS-SEARCH:   CONTENDER: rev=4930 - length=19179
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   185
  DBG-DELTAS-SEARCH:   CANDIDATE: rev=4799
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   186
  DBG-DELTAS-SEARCH:     type=snapshot-2
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   187
  DBG-DELTAS-SEARCH:     size=50213
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   188
  DBG-DELTAS-SEARCH:     base=4623
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   189
  DBG-DELTAS-SEARCH:     uncompressed-delta-size=82661
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   190
  DBG-DELTAS-SEARCH:     delta-search-time=* (glob)
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   191
  DBG-DELTAS-SEARCH:     DELTA: length=49132 (BAD)
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   192
  DBG-DELTAS: FILELOG:SPARSE-REVLOG-TEST-FILE: rev=4971: search-rounds=3 try-count=3 - delta-type=snapshot snap-depth=4 - p1-chain-length=15 p2-chain-length=-1 - duration=* (glob)
b909dd35d9ab deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49225
diff changeset
   193
49225
58a814d062ca test: update `test-sparse-revlog` output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41819
diff changeset
   194
  $ cd ..