Show More
@@ -316,20 +316,3 b' def setup():' | |||||
316 | yield changegroup.ellipsisdata( |
|
316 | yield changegroup.ellipsisdata( | |
317 | self, rev, revlog, p1, p2, revlog.revision(n), linknode) |
|
317 | self, rev, revlog, p1, p2, revlog.revision(n), linknode) | |
318 | extensions.wrapfunction(changegroup.cg1packer, 'revchunk', revchunk) |
|
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 | self._reorder = False |
|
851 | self._reorder = False | |
852 |
|
852 | |||
853 | def deltaparent(self, revlog, rev, p1, p2, prev): |
|
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 | dp = revlog.deltaparent(rev) |
|
869 | dp = revlog.deltaparent(rev) | |
855 | if dp == nullrev and revlog.storedeltachains: |
|
870 | if dp == nullrev and revlog.storedeltachains: | |
856 | # Avoid sending full revisions when delta parent is null. Pick prev |
|
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