D1974: narrow: import experimental extension from narrowhg revision cb51d673e9c5

indygreg (Gregory Szorc) phabricator at mercurial-scm.org
Mon Feb 5 16:39:28 EST 2018


indygreg added a comment.


  I know it isn't a viable feature for Google, but I have an idea that may greatly reduce the burden to getting narrow non-experimental...
  
  What do you think about adding a mode that transfers the full changelog, all manifest revisions for relevant trees, and all filelog revisions for //subscribed// files. There would be no shallow cloning, ellipsis nodes, linkrev rewriting, etc. This would be a purely //narrow// clone. I //think// this would eliminate all the technical problems around having to //backfill// a store (via `strip` operations).
  
  If this is technically viable, I think it would allow us to put non-shallow //narrow// clone on a faster track for being non-experimental, since a purely narrow repo would operate much like a traditional repository: we'd just be interacting with a subset of filelogs on client and server.
  
  This line of thought causes me to ask questions like whether we should split the repo requirement, wire protocol capabilities, etc to more differentiate //narrow// support from //shallow//.
  
  None of this should block initial landing. But it's definitely something I'd like the maintainers of `narrowhg` to think about.

REPOSITORY
  rHG Mercurial

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

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


More information about the Mercurial-devel mailing list