On disk bundle in a general delta world
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Sat Aug 29 00:16:20 UTC 2015
Hi there,
We are getting clsoe to be able to use general delta for new clone.
However, there is a significant issue that remains: on disk bundle.
#1: Why
Bundle create on disk (from hg bundle, and strip's backup ( and hg
incoming -i)) are still bundle1 only, and therefore unable to use
general delta.
This mean that stripping could spend a significant amount of time
recomputing delta to put them back into a last-delta format.
We have the ability to create bundle2 bundle on strip (and hg bundle?)
but it is turned of by default as the bundle2 bundle are incompatible
with older version of Mercurial.
#2: When
It makes no doubt that we want to move to on disk bundle2 at some point.
Because it is able to store much more information regarding, phases,
bookmarks, obsmarkers, etc.
But this change will be backward compatibility breaking. When do we want
to perform the following event (in regards with each other).
a) general delta on in `hg init`
b) bundle2 on strip
c) bundle2 on `hg incoming -b B`
d) bundle2 on `hg bundle`
#3: Naming
Should we change the naming scheme for the bundle. Thing are currently
call `.hg` should we move to `.hg2`? And given that there will likely be
gradual improvement in the bundle2 format, incompatible with older
version. Should we do .hg20 -> .hg21 .hg22 (or .hg2a, etc)
#4: Ui
We probably want to be able to control the type of bundle created
(especially from `hg bundle`, what kind of UI do we want there)
--
Pierre-Yves David
More information about the Mercurial-devel
mailing list