comparison tests/test-clone-uncompressed.t @ 35792:1d118f9f4f57

bundle2: always advertise client support for stream parts Previously, enabling of stream clone over bundle2 was a server-side only change. And clients would only advertise bundle2 support for stream clones if an experimental config option was set. This situation wasn't forward compatible because in the future (when the feature is enabled on servers by default), an old client would send a request to the server but it wouldn't send its own bundle2 capability support for stream parts. Servers would have to infer that clients not sending this capability were old Mercurial clients that only sent the capability if the feature was explicitly enabled. Implicit and inferred behavior makes implementing servers hard. It's much better to be explicit about client features. We should either make the config option for bundle2 stream clones disable the feature client-side as well (so a server doesn't see a request from a client not advertising stream support). Or we should always advertise stream support if a client is willing to accept stream parts. Since I anticipating stabilizing stream clone support in bundle2 quickly, I think it's safe to always advertise client support in the bundle2 capabilities. So this commit changes things to do that. Because capabilities now vary between client and server, we had to create variations of the variable substitutions for those strings. Differential Revision: https://phab.mercurial-scm.org/D1931
author Gregory Szorc <gregory.szorc@gmail.com>
date Mon, 22 Jan 2018 12:23:47 -0800
parents 9adae6a20e1f
children 4fb2bb61597c
comparison
equal deleted inserted replaced
35791:9adae6a20e1f 35792:1d118f9f4f57
35 #if stream-legacy 35 #if stream-legacy
36 $ hg debugcapabilities http://localhost:$HGPORT 36 $ hg debugcapabilities http://localhost:$HGPORT
37 Main capabilities: 37 Main capabilities:
38 batch 38 batch
39 branchmap 39 branchmap
40 $USUAL_BUNDLE2_CAPS$ 40 $USUAL_BUNDLE2_CAPS_SERVER$
41 changegroupsubset 41 changegroupsubset
42 compression=zstd,zlib 42 compression=zstd,zlib
43 getbundle 43 getbundle
44 httpheader=1024 44 httpheader=1024
45 httpmediatype=0.1rx,0.1tx,0.2tx 45 httpmediatype=0.1rx,0.1tx,0.2tx
100 #if stream-bundle2 100 #if stream-bundle2
101 $ hg debugcapabilities http://localhost:$HGPORT 101 $ hg debugcapabilities http://localhost:$HGPORT
102 Main capabilities: 102 Main capabilities:
103 batch 103 batch
104 branchmap 104 branchmap
105 $USUAL_BUNDLE2_CAPS$ 105 $USUAL_BUNDLE2_CAPS_SERVER$
106 changegroupsubset 106 changegroupsubset
107 compression=zstd,zlib 107 compression=zstd,zlib
108 getbundle 108 getbundle
109 httpheader=1024 109 httpheader=1024
110 httpmediatype=0.1rx,0.1tx,0.2tx 110 httpmediatype=0.1rx,0.1tx,0.2tx