# # 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. # ------------------------------ #