tests/test-discovery-obshashrange-cache.t
changeset 3967 d54925819f34
parent 3966 ea7687a9a4b8
child 4002 21eab0a99841
child 4267 18ed2a237ab5
equal deleted inserted replaced
3961:84f6c84e9cd2 3967:d54925819f34
       
     1 ==============================
       
     2 Test cache warming strategy 
       
     3 test for range based discovery
       
     4 ==============================
       
     5 
       
     6   $ . $TESTDIR/testlib/pythonpath.sh
       
     7 
       
     8   $ cat << EOF >> $HGRCPATH
       
     9   > [extensions]
       
    10   > hgext3rd.evolve =
       
    11   > blackbox =
       
    12   > [defaults]
       
    13   > blackbox = -l 100
       
    14   > [experimental]
       
    15   > obshashrange=1
       
    16   > verbose-obsolescence-exchange=1
       
    17   > [ui]
       
    18   > logtemplate = "{rev} {node|short} {desc} {tags}\n"
       
    19   > ssh=python "$RUNTESTDIR/dummyssh"
       
    20   > [alias]
       
    21   > debugobsolete=debugobsolete -d '0 0'
       
    22   > [ui]
       
    23   > ssh=$PYTHON "$RUNTESTDIR/dummyssh"
       
    24   > EOF
       
    25 
       
    26   $ hg init main
       
    27 
       
    28   $ hg -R main debugbuilddag '.+7'
       
    29 
       
    30   $ for node in `hg -R main log -T '{node}\n'`; do
       
    31   >     echo -n $node | grep -o . | sort |tr -d "\n" > ancfile
       
    32   >     anc=`cat ancfile`
       
    33   >     rm ancfile
       
    34   >     echo "marking $anc as predecessors of $node"
       
    35   >     hg -R main debugobsolete $anc $node
       
    36   > done
       
    37   marking 000011223334456677789aaaaabbbbcccddddeef as predecessors of 4de32a90b66cd083ebf3c00b41277aa7abca51dd
       
    38   marking 012234455555666699aaaaabbbccccccefffffff as predecessors of f69452c5b1af6cbaaa56ef50cf94fff5bcc6ca23
       
    39   marking 00001122233445555777778889999abbcccddeef as predecessors of c8d03c1b5e94af74b772900c58259d2e08917735
       
    40   marking 0011222445667777889999aabbbbcddddeeeeeee as predecessors of bebd167eb94d257ace0e814aeb98e6972ed2970d
       
    41   marking 000011222223344555566778899aaaabccddefff as predecessors of 2dc09a01254db841290af0538aa52f6f52c776e3
       
    42   marking 01111222223333444455555566999abbbbcceeef as predecessors of 01241442b3c2bf3211e593b549c655ea65b295e3
       
    43   marking 01122444445555566677888aabbcccddddefffff as predecessors of 66f7d451a68b85ed82ff5fcc254daf50c74144bd
       
    44   marking 000111111234444467777889999aaaabcdeeeeff as predecessors of 1ea73414a91b0920940797d8fc6a11e447f8ea1e
       
    45 
       
    46   $ hg debugobsolete -R main
       
    47   000011223334456677789aaaaabbbbcccddddeef 4de32a90b66cd083ebf3c00b41277aa7abca51dd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    48   012234455555666699aaaaabbbccccccefffffff f69452c5b1af6cbaaa56ef50cf94fff5bcc6ca23 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    49   00001122233445555777778889999abbcccddeef c8d03c1b5e94af74b772900c58259d2e08917735 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    50   0011222445667777889999aabbbbcddddeeeeeee bebd167eb94d257ace0e814aeb98e6972ed2970d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    51   000011222223344555566778899aaaabccddefff 2dc09a01254db841290af0538aa52f6f52c776e3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    52   01111222223333444455555566999abbbbcceeef 01241442b3c2bf3211e593b549c655ea65b295e3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    53   01122444445555566677888aabbcccddddefffff 66f7d451a68b85ed82ff5fcc254daf50c74144bd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    54   000111111234444467777889999aaaabcdeeeeff 1ea73414a91b0920940797d8fc6a11e447f8ea1e 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
    55 
       
    56 Cache mode is "auto" so local commit did not warm the cache yet
       
    57 
       
    58   $ f -s main/.hg/cache/evoext*
       
    59   main/.hg/cache/evoext-obscache-00: size=72
       
    60 
       
    61 Initial push
       
    62 ------------
       
    63 
       
    64   $ hg init server
       
    65   $ hg -R main push ssh://user@dummy/server
       
    66   pushing to ssh://user@dummy/server
       
    67   searching for changes
       
    68   OBSEXC: computing relevant nodes
       
    69   OBSEXC: looking for common markers in 8 nodes
       
    70   OBSEXC: computing markers relevant to 8 nodes
       
    71   remote: adding changesets
       
    72   remote: adding manifests
       
    73   remote: adding file changes
       
    74   remote: added 8 changesets with 0 changes to 0 files
       
    75   remote: 8 new obsolescence markers
       
    76 
       
    77 sever cash is warm
       
    78 
       
    79   $ f -s server/.hg/cache/evoext*
       
    80   server/.hg/cache/evoext-depthcache-00: size=88
       
    81   server/.hg/cache/evoext-firstmerge-00: size=88
       
    82   server/.hg/cache/evoext-obscache-00: size=72
       
    83   server/.hg/cache/evoext-stablesortcache-00: size=92
       
    84   server/.hg/cache/evoext_obshashrange_v2.sqlite: size=?* (glob)
       
    85   server/.hg/cache/evoext_stablerange_v2.sqlite: size=?* (glob)
       
    86 
       
    87 client cash is warm
       
    88 
       
    89   $ f -s main/.hg/cache/evoext*
       
    90   main/.hg/cache/evoext-depthcache-00: size=88
       
    91   main/.hg/cache/evoext-firstmerge-00: size=88
       
    92   main/.hg/cache/evoext-obscache-00: size=72
       
    93   main/.hg/cache/evoext-stablesortcache-00: size=92
       
    94   main/.hg/cache/evoext_obshashrange_v2.sqlite: size=?* (glob)
       
    95   main/.hg/cache/evoext_stablerange_v2.sqlite: size=?* (glob)
       
    96 
       
    97 initial pull
       
    98 ------------
       
    99 
       
   100   $ rm -rf main
       
   101   $ hg init main
       
   102   $ hg -R main pull ssh://user@dummy/server
       
   103   pulling from ssh://user@dummy/server
       
   104   requesting all changes
       
   105   adding changesets
       
   106   adding manifests
       
   107   adding file changes
       
   108   added 8 changesets with 0 changes to 0 files
       
   109   8 new obsolescence markers
       
   110   new changesets 1ea73414a91b:4de32a90b66c
       
   111   (run 'hg update' to get a working copy)
       
   112 
       
   113 client cache is empty because the discovery was empty
       
   114 
       
   115   $ f -s main/.hg/cache/evoext*
       
   116   main/.hg/cache/evoext-obscache-00: size=72
       
   117 
       
   118 no op pull
       
   119 ------------
       
   120 
       
   121 clear cache
       
   122 
       
   123   $ rm -rf main/.hg/cache/evoext
       
   124 
       
   125 pull nothing
       
   126 
       
   127   $ hg -R main pull ssh://user@dummy/server
       
   128   pulling from ssh://user@dummy/server
       
   129   searching for changes
       
   130   no changes found
       
   131   OBSEXC: looking for common markers in 8 nodes
       
   132 
       
   133 client cash is warm
       
   134 
       
   135   $ f -s main/.hg/cache/evoext*
       
   136   main/.hg/cache/evoext-depthcache-00: size=88
       
   137   main/.hg/cache/evoext-firstmerge-00: size=88
       
   138   main/.hg/cache/evoext-obscache-00: size=72
       
   139   main/.hg/cache/evoext-stablesortcache-00: size=92
       
   140   main/.hg/cache/evoext_obshashrange_v2.sqlite: size=?* (glob)
       
   141   main/.hg/cache/evoext_stablerange_v2.sqlite: size=?* (glob)
       
   142 
       
   143 no op push
       
   144 ------------
       
   145 
       
   146 clear cache
       
   147 
       
   148   $ rm -rf main/.hg/cache/evoext
       
   149 
       
   150 push nothing
       
   151 
       
   152   $ hg -R main push ssh://user@dummy/server
       
   153   pushing to ssh://user@dummy/server
       
   154   searching for changes
       
   155   OBSEXC: computing relevant nodes
       
   156   OBSEXC: looking for common markers in 8 nodes
       
   157   OBSEXC: markers already in sync
       
   158   no changes found
       
   159   [1]
       
   160 
       
   161 client cash is warm
       
   162 
       
   163   $ f -s main/.hg/cache/evoext*
       
   164   main/.hg/cache/evoext-depthcache-00: size=88
       
   165   main/.hg/cache/evoext-firstmerge-00: size=88
       
   166   main/.hg/cache/evoext-obscache-00: size=72
       
   167   main/.hg/cache/evoext-stablesortcache-00: size=92
       
   168   main/.hg/cache/evoext_obshashrange_v2.sqlite: size=?* (glob)
       
   169   main/.hg/cache/evoext_stablerange_v2.sqlite: size=?* (glob)