Show More
@@ -316,20 +316,3 b' def setup():' | |||
|
316 | 316 | yield changegroup.ellipsisdata( |
|
317 | 317 | self, rev, revlog, p1, p2, revlog.revision(n), linknode) |
|
318 | 318 | extensions.wrapfunction(changegroup.cg1packer, 'revchunk', revchunk) |
|
319 | ||
|
320 | def deltaparent(orig, self, revlog, rev, p1, p2, prev): | |
|
321 | if util.safehasattr(self, 'full_nodes'): | |
|
322 | # TODO: send better deltas when in narrow mode. | |
|
323 | # | |
|
324 | # changegroup.group() loops over revisions to send, | |
|
325 | # including revisions we'll skip. What this means is that | |
|
326 | # `prev` will be a potentially useless delta base for all | |
|
327 | # ellipsis nodes, as the client likely won't have it. In | |
|
328 | # the future we should do bookkeeping about which nodes | |
|
329 | # have been sent to the client, and try to be | |
|
330 | # significantly smarter about delta bases. This is | |
|
331 | # slightly tricky because this same code has to work for | |
|
332 | # all revlogs, and we don't have the linkrev/linknode here. | |
|
333 | return p1 | |
|
334 | return orig(self, revlog, rev, p1, p2, prev) | |
|
335 | extensions.wrapfunction(changegroup.cg2packer, 'deltaparent', deltaparent) |
@@ -851,6 +851,21 b' class cg2packer(cg1packer):' | |||
|
851 | 851 | self._reorder = False |
|
852 | 852 | |
|
853 | 853 | def deltaparent(self, revlog, rev, p1, p2, prev): |
|
854 | # Narrow ellipses mode. | |
|
855 | if util.safehasattr(self, 'full_nodes'): | |
|
856 | # TODO: send better deltas when in narrow mode. | |
|
857 | # | |
|
858 | # changegroup.group() loops over revisions to send, | |
|
859 | # including revisions we'll skip. What this means is that | |
|
860 | # `prev` will be a potentially useless delta base for all | |
|
861 | # ellipsis nodes, as the client likely won't have it. In | |
|
862 | # the future we should do bookkeeping about which nodes | |
|
863 | # have been sent to the client, and try to be | |
|
864 | # significantly smarter about delta bases. This is | |
|
865 | # slightly tricky because this same code has to work for | |
|
866 | # all revlogs, and we don't have the linkrev/linknode here. | |
|
867 | return p1 | |
|
868 | ||
|
854 | 869 | dp = revlog.deltaparent(rev) |
|
855 | 870 | if dp == nullrev and revlog.storedeltachains: |
|
856 | 871 | # Avoid sending full revisions when delta parent is null. Pick prev |
General Comments 0
You need to be logged in to leave comments.
Login now