Mercurial > public > mercurial-scm > hg
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 |