https://bz.mercurial-scm.org/show_bug.cgi?id=6872
Bug ID: 6872 Summary: Compression level option not making it to compressstream function of compression engine Product: Mercurial Version: unspecified Hardware: PC OS: Linux Status: UNCONFIRMED Severity: feature Priority: wish Component: bundle2 Assignee: bugzi...@mercurial-scm.org Reporter: eric-mercur...@omnifarious.org CC: mercurial-de...@mercurial-scm.org, pierre-yves.da...@ens-lyon.org Python Version: --- I used this command: hg bundle -a -t 'zstd;level=22' foo.mbdl with data that I had explicitly formulated to compress very different with different zstd compression levels. And I had tested that this was indeed the case when using the zstd command line. The resulting file was the right size for level 3, not level 22. I went into utils/compression.py and stuck in a debugging print statement, and the level that's being passed to _zstdengine.compressstream is 3. So, somewhere between the command line parsing and the creation of the stream compressor, the compression level is being lost. It also appears that the 'revlog.zstd.level' option has no effect, possibly for similar reasons. This is the Python I used to create the file I checked in for testing purposes. It's specifically designed to make sure that the compression ratio will change at least very noticeably as the compression level being used goes up. import itertools, random pl = [''.join(p) for p in itertools.permutations([chr(65 + x) for x in range(11)])] sections = set() while len(sections) < 3500: sections.add(random.randint(0, 480924 * 83)) sectstrs = ['\n'.join(pl[x:x+83]) for x in sections] with open('permutes.txt', 'w') as pf: for _ in range(19): random.shuffle(sectstrs) pf.write('\n'.join(sectstrs) + '\n') -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ Mercurial-devel mailing list Mercurial-devel@lists.mercurial-scm.org https://lists.mercurial-scm.org/mailman/listinfo/mercurial-devel