Show More
@@ -1071,8 +1071,14 b' class cgpacker(object):' | |||||
1071 | store = mfl.getstorage(tree) |
|
1071 | store = mfl.getstorage(tree) | |
1072 |
|
1072 | |||
1073 | if not self._filematcher.visitdir(store.tree[:-1] or '.'): |
|
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 | prunednodes = [] |
|
1077 | prunednodes = [] | |
1075 | else: |
|
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 | prunednodes = self._prunemanifests(store, nodes, commonrevs) |
|
1082 | prunednodes = self._prunemanifests(store, nodes, commonrevs) | |
1077 | if tree and not prunednodes: |
|
1083 | if tree and not prunednodes: | |
1078 | continue |
|
1084 | continue | |
@@ -1164,6 +1170,10 b' class cgpacker(object):' | |||||
1164 | return linkrevnodes[x] |
|
1170 | return linkrevnodes[x] | |
1165 |
|
1171 | |||
1166 | frev, flr = filerevlog.rev, filerevlog.linkrev |
|
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 | filenodes = [n for n in linkrevnodes |
|
1177 | filenodes = [n for n in linkrevnodes | |
1168 | if flr(frev(n)) not in commonrevs] |
|
1178 | if flr(frev(n)) not in commonrevs] | |
1169 |
|
1179 |
General Comments 0
You need to be logged in to leave comments.
Login now