D4887: narrow: don't include the manifests while widening a narrow clone

martinvonz (Martin von Zweigbergk) phabricator at mercurial-scm.org
Fri Oct 5 13:31:31 EDT 2018


martinvonz added a comment.


  I don't think this is quite the right approach. If we're using treemanifest and widening from `{foo/, bar/}` to `{foo/, bar/, baz/}`, then we'd still be sending manifests for all those directories (and their subdirectories, right)? We should only have to send manifests for `baz/` (and subdirectories). `cgpacker` current has a `_filematcher`. Perhaps it needs a `_oldfilematcher` as well? Note that a differencematcher won't be enough because it would (correctly) include the root manifest in this example (and pretty much always). Here we need to call `visitdir()` once on each matcher instead of calling it once on a differencematcher.
  
  I'm still fine with queuing this for now if you need this patch somewhat urgently even though I think the code in this patch and in https://phab.mercurial-scm.org/D4886 should eventually go away.

REPOSITORY
  rHG Mercurial

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

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


More information about the Mercurial-devel mailing list