tests/test-revlog-raw.py
changeset 34148 c8b6ed51386b
parent 33625 6788e648efcf
child 34291 1db9abf407c5
equal deleted inserted replaced
34147:b96cfc309ac5 34148:c8b6ed51386b
   117             return {'node': rlog.node(r), 'p1': pnode, 'p2': node.nullid,
   117             return {'node': rlog.node(r), 'p1': pnode, 'p2': node.nullid,
   118                     'cs': rlog.node(rlog.linkrev(r)), 'flags': rlog.flags(r),
   118                     'cs': rlog.node(rlog.linkrev(r)), 'flags': rlog.flags(r),
   119                     'deltabase': rlog.node(deltaparent),
   119                     'deltabase': rlog.node(deltaparent),
   120                     'delta': rlog.revdiff(deltaparent, r)}
   120                     'delta': rlog.revdiff(deltaparent, r)}
   121 
   121 
       
   122         def deltaiter(self, linkmapper):
       
   123             chain = None
       
   124             for chunkdata in iter(lambda: self.deltachunk(chain), {}):
       
   125                 node = chunkdata['node']
       
   126                 p1 = chunkdata['p1']
       
   127                 p2 = chunkdata['p2']
       
   128                 cs = chunkdata['cs']
       
   129                 deltabase = chunkdata['deltabase']
       
   130                 delta = chunkdata['delta']
       
   131                 flags = chunkdata['flags']
       
   132 
       
   133                 link = linkmapper(cs)
       
   134                 chain = node
       
   135 
       
   136                 yield (node, p1, p2, link, deltabase, delta, flags)
       
   137 
   122     def linkmap(lnode):
   138     def linkmap(lnode):
   123         return rlog.rev(lnode)
   139         return rlog.rev(lnode)
   124 
   140 
   125     dlog = newrevlog(destname, recreate=True)
   141     dlog = newrevlog(destname, recreate=True)
   126     dlog.addgroup(dummychangegroup(), linkmap, tr)
   142     dummydeltas = dummychangegroup().deltaiter(linkmap)
       
   143     dlog.addgroup(dummydeltas, tr)
   127     return dlog
   144     return dlog
   128 
   145 
   129 def lowlevelcopy(rlog, tr, destname=b'_destrevlog.i'):
   146 def lowlevelcopy(rlog, tr, destname=b'_destrevlog.i'):
   130     '''Like addgroupcopy, but use the low level revlog._addrevision directly.
   147     '''Like addgroupcopy, but use the low level revlog._addrevision directly.
   131 
   148