tests/test-remotefilelog-repack-fast.t
changeset 40495 3a333a582d7b
child 40502 6d64e2abe8d3
equal deleted inserted replaced
40494:9aeb9e2d28a7 40495:3a333a582d7b
       
     1   $ PYTHONPATH=$TESTDIR/..:$PYTHONPATH
       
     2   $ export PYTHONPATH
       
     3 
       
     4   $ . "$TESTDIR/remotefilelog-library.sh"
       
     5 
       
     6   $ cat >> $HGRCPATH <<EOF
       
     7   > [remotefilelog]
       
     8   > fastdatapack=True
       
     9   > EOF
       
    10 
       
    11   $ hginit master
       
    12   $ cd master
       
    13   $ cat >> .hg/hgrc <<EOF
       
    14   > [remotefilelog]
       
    15   > server=True
       
    16   > serverexpiration=-1
       
    17   > EOF
       
    18   $ echo x > x
       
    19   $ hg commit -qAm x
       
    20   $ echo x >> x
       
    21   $ hg commit -qAm x2
       
    22   $ cd ..
       
    23 
       
    24   $ hgcloneshallow ssh://user@dummy/master shallow -q
       
    25   1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob)
       
    26 
       
    27 # Set the prefetchdays config to zero so that all commits are prefetched
       
    28 # no matter what their creation date is.
       
    29   $ cd shallow
       
    30   $ cat >> .hg/hgrc <<EOF
       
    31   > [remotefilelog]
       
    32   > prefetchdays=0
       
    33   > EOF
       
    34   $ cd ..
       
    35 
       
    36 # Test that repack cleans up the old files and creates new packs
       
    37 
       
    38   $ cd shallow
       
    39   $ find $CACHEDIR | sort
       
    40   $TESTTMP/hgcache
       
    41   $TESTTMP/hgcache/master
       
    42   $TESTTMP/hgcache/master/11
       
    43   $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072
       
    44   $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/aee31534993a501858fb6dd96a065671922e7d51
       
    45   $TESTTMP/hgcache/repos
       
    46 
       
    47   $ hg repack
       
    48 
       
    49   $ find $CACHEDIR | sort
       
    50   $TESTTMP/hgcache
       
    51   $TESTTMP/hgcache/master
       
    52   $TESTTMP/hgcache/master/packs
       
    53   $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histidx
       
    54   $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histpack
       
    55   $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
       
    56   $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
       
    57   $TESTTMP/hgcache/master/packs/repacklock
       
    58   $TESTTMP/hgcache/repos
       
    59 
       
    60 # Test that the packs are readonly
       
    61   $ ls_l $CACHEDIR/master/packs
       
    62   -r--r--r--    1145 276d308429d0303762befa376788300f0310f90e.histidx
       
    63   -r--r--r--     172 276d308429d0303762befa376788300f0310f90e.histpack
       
    64   -r--r--r--    1074 8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
       
    65   -r--r--r--      69 8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
       
    66   -rw-r--r--       0 repacklock
       
    67 
       
    68 # Test that the data in the new packs is accessible
       
    69   $ hg cat -r . x
       
    70   x
       
    71   x
       
    72 
       
    73 # Test that adding new data and repacking it results in the loose data and the
       
    74 # old packs being combined.
       
    75 
       
    76   $ cd ../master
       
    77   $ echo x >> x
       
    78   $ hg commit -m x3
       
    79   $ cd ../shallow
       
    80   $ hg pull -q
       
    81   $ hg up -q tip
       
    82   1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob)
       
    83 
       
    84   $ find $CACHEDIR -type f | sort
       
    85   $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/d4a3ed9310e5bd9887e3bf779da5077efab28216
       
    86   $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histidx
       
    87   $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histpack
       
    88   $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
       
    89   $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
       
    90   $TESTTMP/hgcache/master/packs/repacklock
       
    91   $TESTTMP/hgcache/repos
       
    92 
       
    93   $ hg repack --traceback
       
    94 
       
    95   $ find $CACHEDIR -type f | sort
       
    96   $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histidx
       
    97   $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
       
    98   $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.dataidx
       
    99   $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
       
   100   $TESTTMP/hgcache/master/packs/repacklock
       
   101   $TESTTMP/hgcache/repos
       
   102 
       
   103 # Verify all the file data is still available
       
   104   $ hg cat -r . x
       
   105   x
       
   106   x
       
   107   x
       
   108   $ hg cat -r '.^' x
       
   109   x
       
   110   x
       
   111 
       
   112 # Test that repacking again without new data does not delete the pack files
       
   113 # and did not change the pack names
       
   114   $ hg repack
       
   115   $ find $CACHEDIR -type f | sort
       
   116   $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histidx
       
   117   $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
       
   118   $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.dataidx
       
   119   $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
       
   120   $TESTTMP/hgcache/master/packs/repacklock
       
   121   $TESTTMP/hgcache/repos
       
   122 
       
   123 # Run two repacks at once
       
   124   $ hg repack --config "hooks.prerepack=sleep 3" &
       
   125   $ sleep 1
       
   126   $ hg repack
       
   127   skipping repack - another repack is already running
       
   128   $ hg debugwaitonrepack >/dev/null 2>&1
       
   129 
       
   130 # Run repack in the background
       
   131   $ cd ../master
       
   132   $ echo x >> x
       
   133   $ hg commit -m x4
       
   134   $ cd ../shallow
       
   135   $ hg pull -q
       
   136   $ hg up -q tip
       
   137   1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob)
       
   138   $ find $CACHEDIR -type f | sort
       
   139   $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/1bb2e6237e035c8f8ef508e281f1ce075bc6db72
       
   140   $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histidx
       
   141   $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
       
   142   $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.dataidx
       
   143   $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
       
   144   $TESTTMP/hgcache/master/packs/repacklock
       
   145   $TESTTMP/hgcache/repos
       
   146 
       
   147   $ hg repack --background
       
   148   (running background repack)
       
   149   $ sleep 0.5
       
   150   $ hg debugwaitonrepack >/dev/null 2>&1
       
   151   $ find $CACHEDIR -type f | sort
       
   152   $TESTTMP/hgcache/master/packs/094b530486dad4427a0faf6bcbc031571b99ca24.histidx
       
   153   $TESTTMP/hgcache/master/packs/094b530486dad4427a0faf6bcbc031571b99ca24.histpack
       
   154   $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.dataidx
       
   155   $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.datapack
       
   156   $TESTTMP/hgcache/master/packs/repacklock
       
   157   $TESTTMP/hgcache/repos
       
   158 
       
   159 # Test debug commands
       
   160 
       
   161   $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack
       
   162   $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15:
       
   163   x:
       
   164   Node          Delta Base    Delta Length  Blob Size
       
   165   1bb2e6237e03  000000000000  8             8
       
   166   d4a3ed9310e5  1bb2e6237e03  12            6
       
   167   aee31534993a  d4a3ed9310e5  12            4
       
   168   
       
   169   Total:                      32            18        (77.8% bigger)
       
   170   $ hg debugdatapack --long $TESTTMP/hgcache/master/packs/*.datapack
       
   171   $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15:
       
   172   x:
       
   173   Node                                      Delta Base                                Delta Length  Blob Size
       
   174   1bb2e6237e035c8f8ef508e281f1ce075bc6db72  0000000000000000000000000000000000000000  8             8
       
   175   d4a3ed9310e5bd9887e3bf779da5077efab28216  1bb2e6237e035c8f8ef508e281f1ce075bc6db72  12            6
       
   176   aee31534993a501858fb6dd96a065671922e7d51  d4a3ed9310e5bd9887e3bf779da5077efab28216  12            4
       
   177   
       
   178   Total:                                                                              32            18        (77.8% bigger)
       
   179   $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack --node d4a3ed9310e5bd9887e3bf779da5077efab28216
       
   180   $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15:
       
   181   
       
   182   x
       
   183   Node                                      Delta Base                                Delta SHA1                                Delta Length
       
   184   d4a3ed9310e5bd9887e3bf779da5077efab28216  1bb2e6237e035c8f8ef508e281f1ce075bc6db72  77029ab56e83ea2115dd53ff87483682abe5d7ca  12
       
   185   Node                                      Delta Base                                Delta SHA1                                Delta Length
       
   186   1bb2e6237e035c8f8ef508e281f1ce075bc6db72  0000000000000000000000000000000000000000  7ca8c71a64f7b56380e77573da2f7a5fdd2ecdb5  8
       
   187   $ hg debughistorypack $TESTTMP/hgcache/master/packs/*.histidx
       
   188   
       
   189   x
       
   190   Node          P1 Node       P2 Node       Link Node     Copy From
       
   191   1bb2e6237e03  d4a3ed9310e5  000000000000  0b03bbc9e1e7  
       
   192   d4a3ed9310e5  aee31534993a  000000000000  421535db10b6  
       
   193   aee31534993a  1406e7411862  000000000000  a89d614e2364  
       
   194   1406e7411862  000000000000  000000000000  b292c1e3311f  
       
   195 
       
   196 # Test copy tracing from a pack
       
   197   $ cd ../master
       
   198   $ hg mv x y
       
   199   $ hg commit -m 'move x to y'
       
   200   $ cd ../shallow
       
   201   $ hg pull -q
       
   202   $ hg up -q tip
       
   203   1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob)
       
   204   $ hg repack
       
   205   $ hg log -f y -T '{desc}\n'
       
   206   move x to y
       
   207   x4
       
   208   x3
       
   209   x2
       
   210   x
       
   211 
       
   212 # Test copy trace across rename and back
       
   213   $ cp -R $TESTTMP/hgcache/master/packs $TESTTMP/backuppacks
       
   214   $ cd ../master
       
   215   $ hg mv y x
       
   216   $ hg commit -m 'move y back to x'
       
   217   $ hg revert -r 0 x
       
   218   $ mv x y
       
   219   $ hg add y
       
   220   $ echo >> y
       
   221   $ hg revert x
       
   222   $ hg commit -m 'add y back without metadata'
       
   223   $ cd ../shallow
       
   224   $ hg pull -q
       
   225   $ hg up -q tip
       
   226   2 files fetched over 2 fetches - (2 misses, 0.00% hit ratio) over * (glob)
       
   227   $ hg repack
       
   228   $ ls $TESTTMP/hgcache/master/packs
       
   229   e8fdf7ae22b772dcc291f905b9c6e5f381d28739.dataidx
       
   230   e8fdf7ae22b772dcc291f905b9c6e5f381d28739.datapack
       
   231   ebbd7411e00456c0eec8d1150a77e2b3ef490f3f.histidx
       
   232   ebbd7411e00456c0eec8d1150a77e2b3ef490f3f.histpack
       
   233   repacklock
       
   234   $ hg debughistorypack $TESTTMP/hgcache/master/packs/*.histidx
       
   235   
       
   236   x
       
   237   Node          P1 Node       P2 Node       Link Node     Copy From
       
   238   cd410a44d584  577959738234  000000000000  609547eda446  y
       
   239   1bb2e6237e03  d4a3ed9310e5  000000000000  0b03bbc9e1e7  
       
   240   d4a3ed9310e5  aee31534993a  000000000000  421535db10b6  
       
   241   aee31534993a  1406e7411862  000000000000  a89d614e2364  
       
   242   1406e7411862  000000000000  000000000000  b292c1e3311f  
       
   243   
       
   244   y
       
   245   Node          P1 Node       P2 Node       Link Node     Copy From
       
   246   577959738234  1bb2e6237e03  000000000000  c7faf2fc439a  x
       
   247   21f46f2721e7  000000000000  000000000000  d6868642b790  
       
   248   $ hg strip -r '.^'
       
   249   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   250   saved backup bundle to $TESTTMP/shallow/.hg/strip-backup/609547eda446-b26b56a8-backup.hg (glob)
       
   251   $ hg -R ../master strip -r '.^'
       
   252   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   253   saved backup bundle to $TESTTMP/master/.hg/strip-backup/609547eda446-b26b56a8-backup.hg (glob)
       
   254 
       
   255   $ rm -rf $TESTTMP/hgcache/master/packs
       
   256   $ cp -R $TESTTMP/backuppacks $TESTTMP/hgcache/master/packs
       
   257 
       
   258 # Test repacking datapack without history
       
   259   $ rm -rf $CACHEDIR/master/packs/*hist*
       
   260   $ hg repack
       
   261   $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack
       
   262   $TESTTMP/hgcache/master/packs/a8d86ff8e1a11a77a85f5fea567f56a757583eda:
       
   263   x:
       
   264   Node          Delta Base    Delta Length  Blob Size
       
   265   1bb2e6237e03  000000000000  8             8
       
   266   d4a3ed9310e5  1bb2e6237e03  12            6
       
   267   aee31534993a  d4a3ed9310e5  12            4
       
   268   
       
   269   Total:                      32            18        (77.8% bigger)
       
   270   y:
       
   271   Node          Delta Base    Delta Length  Blob Size
       
   272   577959738234  000000000000  70            8
       
   273   
       
   274   Total:                      70            8         (775.0% bigger)
       
   275 
       
   276   $ hg cat -r ".^" x
       
   277   x
       
   278   x
       
   279   x
       
   280   x
       
   281 
       
   282 Incremental repack
       
   283   $ rm -rf $CACHEDIR/master/packs/*
       
   284   $ cat >> .hg/hgrc <<EOF
       
   285   > [remotefilelog]
       
   286   > data.generations=60
       
   287   >   150
       
   288   > fetchpacks=True
       
   289   > EOF
       
   290 
       
   291 Single pack - repack does nothing
       
   292   $ hg prefetch -r 0
       
   293   1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob)
       
   294   $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
       
   295   -r--r--r--      59 5b7dec902026f0cddb0ef8acb62f27b5698494d4.datapack
       
   296   $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
       
   297   -r--r--r--      90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
       
   298   $ hg repack --incremental
       
   299   $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
       
   300   -r--r--r--      59 5b7dec902026f0cddb0ef8acb62f27b5698494d4.datapack
       
   301   $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
       
   302   -r--r--r--      90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
       
   303 
       
   304 3 gen1 packs, 1 gen0 pack - packs 3 gen1 into 1
       
   305   $ hg prefetch -r 1
       
   306   1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob)
       
   307   $ hg prefetch -r 2
       
   308   1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob)
       
   309   $ hg prefetch -r 3
       
   310   1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob)
       
   311   $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
       
   312   -r--r--r--      59 5b7dec902026f0cddb0ef8acb62f27b5698494d4.datapack
       
   313   -r--r--r--      65 6c499d21350d79f92fd556b4b7a902569d88e3c9.datapack
       
   314   -r--r--r--      61 817d294043bd21a3de01f807721971abe45219ce.datapack
       
   315   -r--r--r--      63 ff45add45ab3f59c4f75efc6a087d86c821219d6.datapack
       
   316   $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
       
   317   -r--r--r--     254 077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
       
   318   -r--r--r--     336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack
       
   319   -r--r--r--     172 276d308429d0303762befa376788300f0310f90e.histpack
       
   320   -r--r--r--      90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
       
   321   $ hg repack --incremental
       
   322   $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
       
   323   -r--r--r--      59 5b7dec902026f0cddb0ef8acb62f27b5698494d4.datapack
       
   324   -r--r--r--     225 8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.datapack
       
   325   $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
       
   326   -r--r--r--     336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack
       
   327 
       
   328 1 gen3 pack, 1 gen0 pack - does nothing
       
   329   $ hg repack --incremental
       
   330   $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
       
   331   -r--r--r--      59 5b7dec902026f0cddb0ef8acb62f27b5698494d4.datapack
       
   332   -r--r--r--     225 8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.datapack
       
   333   $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
       
   334   -r--r--r--     336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack
       
   335 
       
   336 Pull should run background repack
       
   337   $ cat >> .hg/hgrc <<EOF
       
   338   > [remotefilelog]
       
   339   > backgroundrepack=True
       
   340   > EOF
       
   341   $ clearcache
       
   342   $ hg prefetch -r 0
       
   343   1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob)
       
   344   $ hg prefetch -r 1
       
   345   1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob)
       
   346   $ hg prefetch -r 2
       
   347   1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob)
       
   348   $ hg prefetch -r 3
       
   349   1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob)
       
   350   $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
       
   351   -r--r--r--      59 5b7dec902026f0cddb0ef8acb62f27b5698494d4.datapack
       
   352   -r--r--r--      65 6c499d21350d79f92fd556b4b7a902569d88e3c9.datapack
       
   353   -r--r--r--      61 817d294043bd21a3de01f807721971abe45219ce.datapack
       
   354   -r--r--r--      63 ff45add45ab3f59c4f75efc6a087d86c821219d6.datapack
       
   355   $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
       
   356   -r--r--r--     254 077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
       
   357   -r--r--r--     336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack
       
   358   -r--r--r--     172 276d308429d0303762befa376788300f0310f90e.histpack
       
   359   -r--r--r--      90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
       
   360 
       
   361   $ hg pull
       
   362   pulling from ssh://user@dummy/master
       
   363   searching for changes
       
   364   no changes found
       
   365   (running background incremental repack)
       
   366   $ sleep 0.5
       
   367   $ hg debugwaitonrepack >/dev/null 2>&1
       
   368   $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
       
   369   -r--r--r--      59 5b7dec902026f0cddb0ef8acb62f27b5698494d4.datapack
       
   370   -r--r--r--     225 8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.datapack
       
   371   $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
       
   372   -r--r--r--     336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack
       
   373 
       
   374 Test environment variable resolution
       
   375   $ CACHEPATH=$TESTTMP/envcache hg prefetch --config 'remotefilelog.cachepath=$CACHEPATH'
       
   376   1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob)
       
   377   $ find $TESTTMP/envcache | sort
       
   378   $TESTTMP/envcache
       
   379   $TESTTMP/envcache/master
       
   380   $TESTTMP/envcache/master/packs
       
   381   $TESTTMP/envcache/master/packs/54afbfda203716c1aa2636029ccc0df18165129e.dataidx
       
   382   $TESTTMP/envcache/master/packs/54afbfda203716c1aa2636029ccc0df18165129e.datapack
       
   383   $TESTTMP/envcache/master/packs/dcebd8e8d4d97ee88e40dd8f92d8678c10e1a3ad.histidx
       
   384   $TESTTMP/envcache/master/packs/dcebd8e8d4d97ee88e40dd8f92d8678c10e1a3ad.histpack
       
   385 
       
   386 Test local remotefilelog blob is correct when based on a pack
       
   387   $ hg prefetch -r .
       
   388   1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob)
       
   389   $ echo >> y
       
   390   $ hg commit -m y2
       
   391   $ hg debugremotefilelog .hg/store/data/95cb0bfd2977c761298d9624e4b4d4c72a39974a/b70860edba4f8242a1d52f2a94679dd23cb76808
       
   392   size: 9 bytes
       
   393   path: .hg/store/data/95cb0bfd2977c761298d9624e4b4d4c72a39974a/b70860edba4f8242a1d52f2a94679dd23cb76808 
       
   394   key: b70860edba4f 
       
   395   
       
   396           node =>           p1            p2      linknode     copyfrom
       
   397   b70860edba4f => 577959738234  000000000000  08d3fbc98c48  
       
   398   577959738234 => 1bb2e6237e03  000000000000  c7faf2fc439a  x
       
   399   1bb2e6237e03 => d4a3ed9310e5  000000000000  0b03bbc9e1e7  
       
   400   d4a3ed9310e5 => aee31534993a  000000000000  421535db10b6  
       
   401   aee31534993a => 1406e7411862  000000000000  a89d614e2364  
       
   402   1406e7411862 => 000000000000  000000000000  b292c1e3311f