On long-lived repository (5.5 years or so, or one created with usegeneraldelta=no, explicitly), "hg bundle --type zstd" fails with error below. File "..../mercurial/bundle2.py", line 1320, in writebundle header, comp = bundletypes[bundletype] KeyError: 'HG10ZS' If current repository doesn't have "generaldelta" in its requirements, parsebundlespec() in exchange.py returns "v1" as "appropriate bundle version". This causes unknown bundle type name "HG10ZS" for "hg bundle --type zstd". This issue can be reproduced by steps below. $ hg --config format.usegeneraldelta=no init repo $ echo a > repo/a $ hg -R repo commit -Am '#0' $ hg -R repo bundle --all --type zstd bundle.zstd
Seems like a legit bug. The workaround is to use `-t zstd-v2` to force a version 2 bundle. We'll have to add some code to the bundlespec parser to automatically bump zstd bundles to v2 and error if zstd-v1 is explicitly requested. I'll code up a patch for stable.
Patches on list. Marked for stable.
One self nit-picking. generaldelta itself was introduced at 1.9 (= about 5.5 years before), but "enabling it by default" was introduced at 3.7 (= about 1 years before) :-)
Bug was set to IN_PROGRESS for 14 days, moving back to confirmed
This was fixed in both https://www.mercurial-scm.org/repo/hg/rev/ffed3bf5cd4c and https://www.mercurial-scm.org/repo/hg/rev/10c0ee338535, which will be part of 4.1.2. I'm not sure why the bots didn't update this bug when those changesets landed.
Bug was set to TESTING for 7 days, resolving