Wireprotocol changes for parentdelta
Vishakh Harikumar
vsh426 at gmail.com
Sun Aug 1 14:05:14 CDT 2010
On Sun, Aug 1, 2010 at 7:19 PM, Matt Mackall <mpm at selenic.com> wrote:
> Fact is, we've already done a large amount of that thinking ahead at the
> 1.5 sprint. But no one's going to tell you about it unless you ask.
> Here's a really obvious feature that the new bundle format also needs to
> support: shallow clone. Another is long hashes.
>
> The bundle chunk format looks like:
>
> 4 length
> 20 node
> 20 p1
> 20 p2
> 20 changeset hash (aka linkrev)
> * data
>
> It's going to need to be extended to something like:
>
> 4 flags
> 4 length
> n node
> n p1
> n p2
> n delta parent (either p1, p2, n-1, or possibly null?)
> n changeset hash
> * data
>
> http://mercurial.selenic.com/wiki/BundleFormat
Bundle format for shallow clones,
1 delta parent
now all groups start with a diff against p1 of the first rev. for
shallowclones i am sending the full revision in cases where
p1 is not available.
2 header to identify shallow root for which bundle was created
e.g. when a new repo is created from a bundled shallow clone
regarding commands changegroup2 supporting shallowroot arg
should be sufficient for shallowclones.
--
vsh
More information about the Mercurial-devel
mailing list