mercurial/bundle2.py
changeset 21000 4cae06ae1562
parent 20998 93a3c5b58635
child 21001 c93bb6a08fa1
--- a/mercurial/bundle2.py	Thu Apr 10 13:19:00 2014 -0700
+++ b/mercurial/bundle2.py	Thu Apr 10 12:33:20 2014 -0700
@@ -549,13 +549,20 @@
         yield _pack(_fpartheadersize, len(headerchunk))
         yield headerchunk
         ## payload
+        for chunk in self._payloadchunks():
+            yield _pack(_fpayloadsize, len(chunk))
+            yield chunk
+        # end of payload
+        yield _pack(_fpayloadsize, 0)
+
+    def _payloadchunks(self):
+        """yield chunks of a the part payload
+
+        Exists to handle the different methods to provide data to a part."""
         # we only support fixed size data now.
         # This will be improved in the future.
         if len(self.data):
-            yield _pack(_fpayloadsize, len(self.data))
             yield self.data
-        # end of payload
-        yield _pack(_fpayloadsize, 0)
 
 @parthandler('changegroup')
 def handlechangegroup(op, inpart):