[PATCH 5 of 9 RFC] pushkey: define raw listing functions on each namespace (API)

Pierre-Yves David pierre-yves.david at ens-lyon.org
Tue Aug 16 20:02:20 EDT 2016



On 08/14/2016 11:10 PM, Gregory Szorc wrote:
> # HG changeset patch
> # User Gregory Szorc <gregory.szorc at gmail.com>
> # Date 1471208975 25200
> #      Sun Aug 14 14:09:35 2016 -0700
> # Node ID a94e1b0bb3ba0f6b0a3e62d5daece6a5f9ff295c
> # Parent  67501b93c9875cc6cdef0e77d2d148a14a5d60a8
> pushkey: define raw listing functions on each namespace (API)
>
> In preparation for adding a wire protocol command that sends pushkey
> data with minimal encoding, we teach the pushkey namespace registration
> APIs about the recently-implemented raw variants to obtain keys.
>
> This will likely break extensions defining custom pushkey namespaces.
> Extensions can look at the length of the tuple returned by
> pushkey.get() to determine if they need to define a raw listkeys
> variant for the Mercurial version they are running on.

I would probably not go the root of an extra wireprotocol command around 
pushkey here. Bundle2 have all we need for binary transfer and data are 
better pulled together in one go anyway.

I think we should introduce bundle2 parts for the various piece we need 
as binary. Dedicated part will be able to have finer transfer for them 
anyway.

-- 
Pierre-Yves David


More information about the Mercurial-devel mailing list