[PATCH 4 of 5] push: send highest changegroup format supported by both side
Gregory Szorc
gregory.szorc at gmail.com
Tue Nov 4 10:55:09 CST 2014
On 11/4/14 6:20 AM, Pierre-Yves David wrote:
> # HG changeset patch
> # User Pierre-Yves David <pierre-yves.david at fb.com>
> # Date 1413573564 25200
> # Fri Oct 17 12:19:24 2014 -0700
> # Node ID 7407e3ea154921922956cbaf2e7ff0d89d48634c
> # Parent 514f8b2f466377bca8eea987c67e33eb415586e9
> push: send highest changegroup format supported by both side
>
> When using bundle2, we find the common subset of supported changegroup-packers
> and we pick the max of them. This allow to use generaldelta aware changegroups through
> bundle2.
I like what this series (and the already queued one before it) are
trying to do (protocol negotiation). But I'm a bit concerned about using
plain integers for protocol negotiation.
Is this integer just encompassing the wire/bundle protocol? Or does it
extend to more, such as encoding formats (classic vs generaldelta) and
compression formats (raw, gzip, bz2, lz4, etc)? If it is just the
former, +1. But if version N also implies things beyond the wire
protocol (e.g. use of generaldelta), then I have strong objections to
using simple integer comparison for ranking preferences, as I think
there are too many combinations to express preferences in a shared
numeric list.
My apologies for not fully grasping the full plan here.
More information about the Mercurial-devel
mailing list