D4226: repository: establish API for emitting revision deltas

indygreg (Gregory Szorc) phabricator at mercurial-scm.org
Thu Aug 9 22:38:39 EDT 2018


indygreg added a comment.


  There //might// be room to structure this as a pair of APIs: build delta requests and generate them. But I'm having a difficult time reconciling how ellipsis mode would fit in and how callbacks would work
  
  A benefit of having a pair of functions is that the storage implementation can emit any object it wants to describe the revision deltas that should be generated. Of course, at the point where the storage implementation can figure out the delta request logic, you might as well have a single function in the storage layer that replaces `changegroup.deltagroup()`!
  
  One of the reasons I would like to have an abstraction for delta requests and a single function to process them is it can lead to easy-to-drop-in caching. For example, it should be possible to write an extension that uses redis or some other in-memory store to service the revisiondeltarequest -> revisiondelta handling.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D4226

To: indygreg, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list