diff -r 2dc6e09f2a7d -r d69c9510d648 mercurial/changegroup.py --- a/mercurial/changegroup.py Thu Mar 31 14:25:26 2011 -0500 +++ b/mercurial/changegroup.py Thu Mar 31 15:24:06 2011 -0500 @@ -194,3 +194,18 @@ if version != '10': raise util.Abort(_('%s: unknown bundle version %s') % (fname, version)) return unbundle10(fh, alg) + +class bundle10(object): + def __init__(self, lookup): + self._lookup = lookup + def close(self): + return closechunk() + def fileheader(self, fname): + return chunkheader(len(fname)) + fname + def revchunk(self, revlog, node='', p1='', p2='', prefix='', data=''): + linknode = self._lookup(revlog, node) + meta = node + p1 + p2 + linknode + prefix + l = len(meta) + len(data) + yield chunkheader(l) + yield meta + yield data