##// END OF EJS Templates
changegroup: fix deltachunk API to be consistent from one class to another...
marmoute -
r48131:3f00665b default
parent child Browse files
Show More
@@ -225,7 +225,17 b' def addchangegroupfiles('
225 225
226 226 chain = None
227 227 while True:
228 # returns: (node, p1, p2, cs, deltabase, delta, flags) or None
228 # returns: None or (
229 # node,
230 # p1,
231 # p2,
232 # cs,
233 # deltabase,
234 # delta,
235 # flags,
236 # sidedata,
237 # proto_flags
238 # )
229 239 revisiondata = source.deltachunk(chain)
230 240 if not revisiondata:
231 241 break
@@ -263,7 +273,7 b' def addchangegroupfiles('
263 273 prefetchfiles = []
264 274 for f, node in queue:
265 275 revisiondata = revisiondatas[(f, node)]
266 # revisiondata: (node, p1, p2, cs, deltabase, delta, flags)
276 # revisiondata: (node, p1, p2, cs, deltabase, delta, flags, sdata, pfl)
267 277 dependents = [revisiondata[1], revisiondata[2], revisiondata[4]]
268 278
269 279 for dependent in dependents:
@@ -287,8 +297,18 b' def addchangegroupfiles('
287 297 fl = repo.file(f)
288 298
289 299 revisiondata = revisiondatas[(f, node)]
290 # revisiondata: (node, p1, p2, cs, deltabase, delta, flags)
291 node, p1, p2, linknode, deltabase, delta, flags, sidedata = revisiondata
300 # revisiondata: (node, p1, p2, cs, deltabase, delta, flags, sdata, pfl)
301 (
302 node,
303 p1,
304 p2,
305 linknode,
306 deltabase,
307 delta,
308 flags,
309 sidedata,
310 proto_flags,
311 ) = revisiondata
292 312
293 313 if not available(f, node, f, deltabase):
294 314 continue
@@ -199,6 +199,7 b' class cg1unpacker(object):'
199 199 return node, p1, p2, deltabase, cs, flags, protocol_flags
200 200
201 201 def deltachunk(self, prevnode):
202 # Chunkdata: (node, p1, p2, cs, deltabase, delta, flags, sidedata, proto_flags)
202 203 l = self._chunklength()
203 204 if not l:
204 205 return {}
@@ -207,7 +208,7 b' class cg1unpacker(object):'
207 208 delta = readexactly(self._stream, l - self.deltaheadersize)
208 209 header = self._deltaheader(header, prevnode)
209 210 node, p1, p2, deltabase, cs, flags, protocol_flags = header
210 return node, p1, p2, cs, deltabase, delta, flags, protocol_flags
211 return node, p1, p2, cs, deltabase, delta, flags, {}, protocol_flags
211 212
212 213 def getchunks(self):
213 214 """returns all the chunks contains in the bundle
@@ -583,8 +584,8 b' class cg1unpacker(object):'
583 584 """
584 585 chain = None
585 586 for chunkdata in iter(lambda: self.deltachunk(chain), {}):
586 # Chunkdata: (node, p1, p2, cs, deltabase, delta, flags, sidedata)
587 yield chunkdata
587 # Chunkdata: (node, p1, p2, cs, deltabase, delta, flags, sidedata, proto_flags)
588 yield chunkdata[:8]
588 589 chain = chunkdata[0]
589 590
590 591
@@ -659,14 +660,35 b' class cg4unpacker(cg3unpacker):'
659 660 if not res:
660 661 return res
661 662
662 (node, p1, p2, cs, deltabase, delta, flags, protocol_flags) = res
663 (
664 node,
665 p1,
666 p2,
667 cs,
668 deltabase,
669 delta,
670 flags,
671 sidedata,
672 protocol_flags,
673 ) = res
674 assert not sidedata
663 675
664 676 sidedata = {}
665 677 if protocol_flags & storageutil.CG_FLAG_SIDEDATA:
666 678 sidedata_raw = getchunk(self._stream)
667 679 sidedata = sidedatamod.deserialize_sidedata(sidedata_raw)
668 680
669 return node, p1, p2, cs, deltabase, delta, flags, sidedata
681 return (
682 node,
683 p1,
684 p2,
685 cs,
686 deltabase,
687 delta,
688 flags,
689 sidedata,
690 protocol_flags,
691 )
670 692
671 693
672 694 class headerlessfixup(object):
General Comments 0
You need to be logged in to leave comments. Login now