comparison mercurial/revlog.py @ 12335:e21fe9c5fb25

bundle: get rid of chunkiter
author Matt Mackall <mpm@selenic.com>
date Sun, 19 Sep 2010 12:51:54 -0500
parents 2315a95ee887
children 9d234f7d8a77
comparison
equal deleted inserted replaced
12334:50946802593d 12335:e21fe9c5fb25
1267 yield meta 1267 yield meta
1268 yield d 1268 yield d
1269 1269
1270 yield changegroup.closechunk() 1270 yield changegroup.closechunk()
1271 1271
1272 def addgroup(self, revs, linkmapper, transaction): 1272 def addgroup(self, bundle, linkmapper, transaction):
1273 """ 1273 """
1274 add a delta group 1274 add a delta group
1275 1275
1276 given a set of deltas, add them to the revision log. the 1276 given a set of deltas, add them to the revision log. the
1277 first delta is against its parent, which should be in our 1277 first delta is against its parent, which should be in our
1299 dfh = self.opener(self.datafile, "a") 1299 dfh = self.opener(self.datafile, "a")
1300 1300
1301 try: 1301 try:
1302 # loop through our set of deltas 1302 # loop through our set of deltas
1303 chain = None 1303 chain = None
1304 for chunk in revs: 1304 while 1:
1305 chunk = bundle.chunk()
1306 if not chunk:
1307 break
1305 node, p1, p2, cs = struct.unpack("20s20s20s20s", chunk[:80]) 1308 node, p1, p2, cs = struct.unpack("20s20s20s20s", chunk[:80])
1306 link = linkmapper(cs) 1309 link = linkmapper(cs)
1307 if (node in self.nodemap and 1310 if (node in self.nodemap and
1308 (not self.flags(self.rev(node)) & REVIDX_PUNCHED_FLAG)): 1311 (not self.flags(self.rev(node)) & REVIDX_PUNCHED_FLAG)):
1309 # this can happen if two branches make the same change 1312 # this can happen if two branches make the same change