D1974: narrow: import experimental extension from narrowhg revision cb51d673e9c5
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Mon Feb 5 21:39:28 UTC 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