Show More
@@ -1071,8 +1071,14 b' class cgpacker(object):' | |||
|
1071 | 1071 | store = mfl.getstorage(tree) |
|
1072 | 1072 | |
|
1073 | 1073 | if not self._filematcher.visitdir(store.tree[:-1] or '.'): |
|
1074 | # No nodes to send because this directory is out of | |
|
1075 | # the client's view of the repository (probably | |
|
1076 | # because of narrow clones). | |
|
1074 | 1077 | prunednodes = [] |
|
1075 | 1078 | else: |
|
1079 | # Avoid sending any manifest nodes we can prove the | |
|
1080 | # client already has by checking linkrevs. See the | |
|
1081 | # related comment in generatefiles(). | |
|
1076 | 1082 | prunednodes = self._prunemanifests(store, nodes, commonrevs) |
|
1077 | 1083 | if tree and not prunednodes: |
|
1078 | 1084 | continue |
@@ -1164,6 +1170,10 b' class cgpacker(object):' | |||
|
1164 | 1170 | return linkrevnodes[x] |
|
1165 | 1171 | |
|
1166 | 1172 | frev, flr = filerevlog.rev, filerevlog.linkrev |
|
1173 | # Skip sending any filenode we know the client already | |
|
1174 | # has. This avoids over-sending files relatively | |
|
1175 | # inexpensively, so it's not a problem if we under-filter | |
|
1176 | # here. | |
|
1167 | 1177 | filenodes = [n for n in linkrevnodes |
|
1168 | 1178 | if flr(frev(n)) not in commonrevs] |
|
1169 | 1179 |
General Comments 0
You need to be logged in to leave comments.
Login now