[PATCH 4 of 5] push: send highest changegroup format supported by both side

Pierre-Yves David pierre-yves.david at ens-lyon.org
Tue Nov 4 21:54:16 UTC 2014



On 11/04/2014 06:14 PM, Pierre-Yves David wrote:
> Does this address your concern?

After an IRC discussion with Greg, I addressed his concern.

The new format "02" is just a super set of "01" is allow to convey the 
same information that "01" but also support delta against other changesets.

This does not implies any extra general delta work from the server. 
Server will just get data from disk as they are.

- If the server is not using general delta, all delta used in the bundle 
will still be "classic" (against the previous chunk) but a field in the 
changegroup will make it explicit.

- If the server is using general delta. The such delta will be directly 
reused from disk to the "02" changegroup (except when the target is not 
accessible from the generated changegroup)

In the same way, "03" is expected to be a superset of "02" that also 
support both 20 bytes and 32 bytes hashes (for sha1 vs sha256).

-- 
Pierre-Yves David



More information about the Mercurial-devel mailing list