##// END OF EJS Templates
changegroup: move deltaparent() from narrow...
Gregory Szorc -
r38921:5839a170 default
parent child Browse files
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