changeset 35782:9d249f3de730

wireproto: don't compress errors from getbundle() Errors should be small. There's no real need to compress them. Truth be told, there's no good reason to not compress them either. But leaving them uncompressed makes it easier to test failures by looking at the raw HTTP response. This makes it easier for us to write tests. It may make it easier for people writing their own clients. Differential Revision: https://phab.mercurial-scm.org/D1922
author Gregory Szorc <gregory.szorc@gmail.com>
date Sat, 20 Jan 2018 15:43:02 -0800
parents c6ef8e841873
children c97639ad6874
files mercurial/wireproto.py
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/wireproto.py	Sat Jan 20 16:08:07 2018 -0800
+++ b/mercurial/wireproto.py	Sat Jan 20 15:43:02 2018 -0800
@@ -862,6 +862,8 @@
             raise error.Abort(bundle2requiredmain,
                               hint=bundle2requiredhint)
 
+    preferuncompressed = False
+
     try:
         if repo.ui.configbool('server', 'disablefullbundle'):
             # Check to see if this is a full clone.
@@ -891,8 +893,10 @@
             advargs.append(('hint', exc.hint))
         bundler.addpart(bundle2.bundlepart('error:abort',
                                            manargs, advargs))
-        return streamres(gen=bundler.getchunks())
-    return streamres(gen=chunks)
+        chunks = bundler.getchunks()
+        preferuncompressed = True
+
+    return streamres(gen=chunks, prefer_uncompressed=preferuncompressed)
 
 @wireprotocommand('heads')
 def heads(repo, proto):