[PATCH evolve-ext] wireproto: chunking and compression is forthwith to be handled by hgweb
Kostia Balytskyi
ikostia at fb.com
Tue Nov 29 18:23:43 EST 2016
This looks good to me, although I would maybe perform a more thorough check than just catching a TypeError. For example, something like check:
if “v1compressible” in wireproto.streamres.__init__.__code__.co_varnames:
pass this arg
else:
don’t pass it
On 11/29/16, 4:10 PM, "Mercurial-devel on behalf of Martijn Pieters" <mercurial-devel-bounces at mercurial-scm.org on behalf of mj at zopatista.com> wrote:
# HG changeset patch
# User Martijn Pieters <mjpieters at fb.com>
# Date 1480435818 0
# Tue Nov 29 16:10:18 2016 +0000
# Node ID 28a092ed406e930894c59eb88d645221abddc307
# Parent cb2bac3253fbd52894ffcb4719a148fe6a3da38b
wireproto: chunking and compression is forthwith to be handled by hgweb
Various functions disappeared in the process. Use the new streamres API but fall back to the old way if the keyword arguments are not accepted.
See https://urldefense.proofpoint.com/v2/url?u=https-3A__www.mercurial-2Dscm.org_repo_hg_rev_2add671bf55b&d=DgIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=Pp-gQYFgs4tKlSFPF5kfCw&m=itsfqjECZoIFxlvcK1F6-xHmasBtG5DrNpHJ5crQ8Qk&s=L9z5Oyy5EDFtbdleAKmWKcYdz4ScmzGLZznUUuk5k_8&e=
diff --git a/hgext/evolve.py b/hgext/evolve.py
--- a/hgext/evolve.py
+++ b/hgext/evolve.py
@@ -3848,7 +3848,12 @@
finaldata.write('%20i' % len(obsdata))
finaldata.write(obsdata)
finaldata.seek(0)
- return wireproto.streamres(proto.groupchunks(finaldata))
+ try:
+ return wireproto.streamres(reader=finaldata, v1compressible=True)
+ except TypeError:
+ # older mercurial version, expected to do our own compression
+ return wireproto.streamres(proto.groupchunks(finaldata))
+
def _obsrelsethashtreefm0(repo):
return _obsrelsethashtree(repo, obsolete._fm0encodeonemarker)
diff --git a/hgext/simple4server.py b/hgext/simple4server.py
--- a/hgext/simple4server.py
+++ b/hgext/simple4server.py
@@ -175,7 +175,11 @@
finaldata.write('%20i' % len(obsdata))
finaldata.write(obsdata)
finaldata.seek(0)
- return wireproto.streamres(proto.groupchunks(finaldata))
+ try:
+ return wireproto.streamres(reader=finaldata, v1compressible=True)
+ except TypeError:
+ # older mercurial version, expected to do our own compression
+ return wireproto.streamres(proto.groupchunks(finaldata))
# from evolve extension: 3249814dabd1
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel at mercurial-scm.org
https://urldefense.proofpoint.com/v2/url?u=https-3A__www.mercurial-2Dscm.org_mailman_listinfo_mercurial-2Ddevel&d=DgIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=Pp-gQYFgs4tKlSFPF5kfCw&m=itsfqjECZoIFxlvcK1F6-xHmasBtG5DrNpHJ5crQ8Qk&s=Ja50nSg2ysFrAQC62ZhOs8UsS5w1-omMglM6HYBbfjg&e=
More information about the Mercurial-devel
mailing list