Skip to content
  • Boris Feld's avatar
    sparse-revlog: add a test checking revlog deltas for a churning file · 4ca7a67c94c8
    Boris Feld authored
    The test repository contains 5000 revisions and is therefore slow to build:
    five minutes with CHG, over fifteen minutes without. It is too slow to build
    during the test.  Bundling all content produce a sizeable result, 20BM, too
    large to be committed. Instead, we commit a script to build the expected
    bundle and the test checks if the bundle is available. Any run of the script
    will produce the same repository content, using resulting in the same hashes.
    
    Using smaller repositories was tried, however, it misses most of the cases we
    are planning to improve. Having them in a 5000 repository is already nice, we
    usually see these case in repositories in the order of magnitude of one
    million revisions.
    
    This test will be very useful to check various changes strategy for building
    delta to store in a sparse-revlog.
    
    In this series we will focus our attention on the following metrics:
    
    The ones that will impact the final storage performance (size, space):
    * size of the revlog data file (".hg/store/data/*.d")
    * chain length info
    
    The ones that describe the deltas patterns:
    * number of snapshot revision (and their level)
    * size taken by snapshot revision (and their level)
    4ca7a67c94c8