hgext/simple4server.py
changeset 877 cf35f38d6a10
parent 876 8c9601a6c4e0
child 878 5cb2744a6d36
--- a/hgext/simple4server.py	Mon Mar 10 22:08:21 2014 -0700
+++ b/hgext/simple4server.py	Mon Mar 10 21:35:54 2014 -0700
@@ -145,12 +145,12 @@
         if k in ('heads', 'common'):
             opts[k] = wireproto.decodelist(v)
     obsdata = _getobsmarkersstream(repo, **opts)
-    length = '%20i' % len(obsdata.getvalue())
-    def data():
-        yield length
-        for c in proto.groupchunks(obsdata):
-            yield c
-    return wireproto.streamres(data())
+    finaldata = StringIO()
+    obsdata = obsdata.getvalue()
+    finaldata.write('%20i' % len(obsdata))
+    finaldata.write(obsdata)
+    finaldata.seek(0)
+    return wireproto.streamres(proto.groupchunks(finaldata))
 
 
 # from evolve extension: 1a23c7c52a43