Page MenuHomeSoftware Heritage
Paste P162

This comment currently resides at the top of the mercurial bundle_loader that I'm working on
ActivePublic

Authored by fiendish on May 17 2017, 12:44 PM.
#
# https://www.mercurial-scm.org/wiki/BundleFormat says:
# "The new bundle format design is described on the BundleFormat2 page."
#
# https://www.mercurial-scm.org/wiki/BundleFormat2#Format_of_the_Bundle2_Container says:
# "The latest description of the binary format can be found as comment in the Mercurial source code."
#
# https://www.mercurial-scm.org/repo/hg/file/default/mercurial/help/internals/bundles.txt says:
# "The 'HG20' format is not yet documented here. See the inline comments in 'mercurial/exchange.py' for now."
#
# Avi says: --------------------
# The official statements shown above, except for the part that says "is not yet documented", are lies.
# In fact, the bundle20 format seems to be accurately documented nowhere.
# https://www.mercurial-scm.org/wiki/BundleFormatHG19 is predictably wrong or absent in a number of details.
# https://www.mercurial-scm.org/wiki/BundleFormat2#New_header is just wrong and bizarre, and there isn't any other information
# on the page.
# We get something reasonably close in https://www.mercurial-scm.org/repo/hg/file/tip/mercurial/help/internals/changegroups.txt
# which accurately describes much of the internal structure, but it doesn't describe any of the file-level structure,
# including the file header and that the entire bundle is broken into overlayed 4KB chunks starting from byte 9,
# nor does it describe what any of the component elements are used for.
# Also it says "The [delta data] format is described more fully in 'hg help internals.bdiff'", which is another lie. That file doesn't exist.
# ------------------------------
#

Event Timeline

fiendish created this object with edit policy "fiendish (Avi Kelman)".