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