comparison mercurial/revlog.py @ 13782:9131724c3f4b

changegroup: combine infocollect and lookup callbacks
author Matt Mackall <mpm@selenic.com>
date Mon, 28 Mar 2011 11:18:56 -0500
parents 66c54d2ebe72
children f1e639c71a2b
comparison
equal deleted inserted replaced
13781:66c54d2ebe72 13782:9131724c3f4b
1056 1056
1057 if type(text) == str: # only accept immutable objects 1057 if type(text) == str: # only accept immutable objects
1058 self._cache = (node, curr, text) 1058 self._cache = (node, curr, text)
1059 return node 1059 return node
1060 1060
1061 def group(self, nodelist, lookup, infocollect=None): 1061 def group(self, nodelist, lookup):
1062 """Calculate a delta group, yielding a sequence of changegroup chunks 1062 """Calculate a delta group, yielding a sequence of changegroup chunks
1063 (strings). 1063 (strings).
1064 1064
1065 Given a list of changeset revs, return a set of deltas and 1065 Given a list of changeset revs, return a set of deltas and
1066 metadata corresponding to nodes. The first delta is 1066 metadata corresponding to nodes. The first delta is
1083 1083
1084 # build deltas 1084 # build deltas
1085 for r in xrange(len(revs) - 1): 1085 for r in xrange(len(revs) - 1):
1086 a, b = revs[r], revs[r + 1] 1086 a, b = revs[r], revs[r + 1]
1087 nb = self.node(b) 1087 nb = self.node(b)
1088
1089 if infocollect is not None:
1090 infocollect(nb)
1091 1088
1092 p = self.parents(nb) 1089 p = self.parents(nb)
1093 meta = nb + p[0] + p[1] + lookup(nb) 1090 meta = nb + p[0] + p[1] + lookup(nb)
1094 if a == nullrev: 1091 if a == nullrev:
1095 d = self.revision(nb) 1092 d = self.revision(nb)