Mercurial > public > mercurial-scm > hg
comparison mercurial/changegroup.py @ 39003:58377518201c
changegroup: pass state into _revisiondeltanarrow
After this, the method no longer accesses self and can be split
into a standalone function.
Differential Revision: https://phab.mercurial-scm.org/D4195
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 07 Aug 2018 15:08:29 -0700 |
parents | eb8a0139ace3 |
children | e11d07cc125c |
comparison
equal
deleted
inserted
replaced
39002:eb8a0139ace3 | 39003:58377518201c |
---|---|
705 delta = _revisiondeltanormal(store, curr, prev, linknode, | 705 delta = _revisiondeltanormal(store, curr, prev, linknode, |
706 self._deltaparentfn) | 706 self._deltaparentfn) |
707 elif linkrev not in self._precomputedellipsis: | 707 elif linkrev not in self._precomputedellipsis: |
708 delta = None | 708 delta = None |
709 else: | 709 else: |
710 delta = self._revisiondeltanarrow(store, ischangelog, | 710 delta = self._revisiondeltanarrow( |
711 curr, linkrev, linknode, | 711 cl, store, ischangelog, curr, linkrev, linknode, |
712 clrevtolocalrev) | 712 clrevtolocalrev, self._fullclnodes, |
713 self._precomputedellipsis) | |
713 else: | 714 else: |
714 delta = _revisiondeltanormal(store, curr, prev, linknode, | 715 delta = _revisiondeltanormal(store, curr, prev, linknode, |
715 self._deltaparentfn) | 716 self._deltaparentfn) |
716 | 717 |
717 if not delta: | 718 if not delta: |
1055 size += len(chunk) | 1056 size += len(chunk) |
1056 yield chunk | 1057 yield chunk |
1057 self._verbosenote(_('%8.i %s\n') % (size, fname)) | 1058 self._verbosenote(_('%8.i %s\n') % (size, fname)) |
1058 progress.complete() | 1059 progress.complete() |
1059 | 1060 |
1060 def _revisiondeltanarrow(self, store, ischangelog, rev, linkrev, linknode, | 1061 def _revisiondeltanarrow(self, cl, store, ischangelog, rev, linkrev, |
1061 clrevtolocalrev): | 1062 linknode, clrevtolocalrev, fullclnodes, |
1062 linkparents = self._precomputedellipsis[linkrev] | 1063 precomputedellipsis): |
1064 linkparents = precomputedellipsis[linkrev] | |
1063 def local(clrev): | 1065 def local(clrev): |
1064 """Turn a changelog revnum into a local revnum. | 1066 """Turn a changelog revnum into a local revnum. |
1065 | 1067 |
1066 The ellipsis dag is stored as revnums on the changelog, | 1068 The ellipsis dag is stored as revnums on the changelog, |
1067 but when we're producing ellipsis entries for | 1069 but when we're producing ellipsis entries for |
1090 while walk: | 1092 while walk: |
1091 p = walk[0] | 1093 p = walk[0] |
1092 walk = walk[1:] | 1094 walk = walk[1:] |
1093 if p in clrevtolocalrev: | 1095 if p in clrevtolocalrev: |
1094 return clrevtolocalrev[p] | 1096 return clrevtolocalrev[p] |
1095 elif p in self._fullclnodes: | 1097 elif p in fullclnodes: |
1096 walk.extend([pp for pp in self._repo.changelog.parentrevs(p) | 1098 walk.extend([pp for pp in cl.parentrevs(p) |
1097 if pp != nullrev]) | 1099 if pp != nullrev]) |
1098 elif p in self._precomputedellipsis: | 1100 elif p in precomputedellipsis: |
1099 walk.extend([pp for pp in self._precomputedellipsis[p] | 1101 walk.extend([pp for pp in precomputedellipsis[p] |
1100 if pp != nullrev]) | 1102 if pp != nullrev]) |
1101 else: | 1103 else: |
1102 # In this case, we've got an ellipsis with parents | 1104 # In this case, we've got an ellipsis with parents |
1103 # outside the current bundle (likely an | 1105 # outside the current bundle (likely an |
1104 # incremental pull). We "know" that we can use the | 1106 # incremental pull). We "know" that we can use the |