[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