##// END OF EJS Templates
changegroup: inline _prune() into call sites...
Gregory Szorc -
r39043:39f5c7af default
parent child Browse files
Show More
@@ -26,7 +26,6 b' from .thirdparty import ('
26 from . import (
26 from . import (
27 dagutil,
27 dagutil,
28 error,
28 error,
29 manifest,
30 match as matchmod,
29 match as matchmod,
31 mdiff,
30 mdiff,
32 phases,
31 phases,
@@ -824,16 +823,6 b' class cgpacker(object):'
824
823
825 yield closechunk()
824 yield closechunk()
826
825
827 # filter any nodes that claim to be part of the known set
828 def _prune(self, store, missing, commonrevs):
829 # TODO this violates storage abstraction for manifests.
830 if isinstance(store, manifest.manifestrevlog):
831 if not self._filematcher.visitdir(store._dir[:-1] or '.'):
832 return []
833
834 rr, rl = store.rev, store.linkrev
835 return [n for n in missing if rl(rr(n)) not in commonrevs]
836
837 def generate(self, commonrevs, clnodes, fastpathlinkrev, source):
826 def generate(self, commonrevs, clnodes, fastpathlinkrev, source):
838 """Yield a sequence of changegroup byte chunks."""
827 """Yield a sequence of changegroup byte chunks."""
839
828
@@ -1031,7 +1020,13 b' class cgpacker(object):'
1031 while tmfnodes:
1020 while tmfnodes:
1032 dir, nodes = tmfnodes.popitem()
1021 dir, nodes = tmfnodes.popitem()
1033 store = dirlog(dir)
1022 store = dirlog(dir)
1034 prunednodes = self._prune(store, nodes, commonrevs)
1023
1024 if not self._filematcher.visitdir(store._dir[:-1] or '.'):
1025 prunednodes = []
1026 else:
1027 frev, flr = store.rev, store.linkrev
1028 prunednodes = [n for n in nodes
1029 if flr(frev(n)) not in commonrevs]
1035
1030
1036 if dir and not prunednodes:
1031 if dir and not prunednodes:
1037 continue
1032 continue
@@ -1127,7 +1122,10 b' class cgpacker(object):'
1127 def lookupfilelog(x):
1122 def lookupfilelog(x):
1128 return linkrevnodes[x]
1123 return linkrevnodes[x]
1129
1124
1130 filenodes = self._prune(filerevlog, linkrevnodes, commonrevs)
1125 frev, flr = filerevlog.rev, filerevlog.linkrev
1126 filenodes = [n for n in linkrevnodes
1127 if flr(frev(n)) not in commonrevs]
1128
1131 if filenodes:
1129 if filenodes:
1132 if self._ellipses:
1130 if self._ellipses:
1133 revs = _sortnodesellipsis(filerevlog, filenodes,
1131 revs = _sortnodesellipsis(filerevlog, filenodes,
General Comments 0
You need to be logged in to leave comments. Login now