##// END OF EJS Templates
revlog: speed up isancestor...
revlog: speed up isancestor Currently, it is implemented on top of commonancestorsheads. Implement it on top of reachableroots instead, as reachableroots could stop walking the graph much sooner than commonancestorsheads. Measuring repo.changelog.isancestorrev on two revisions in a private repository: before: ! wall 0.005175 comb 0.010000 user 0.010000 sys 0.000000 (best of 550) after : ! wall 0.000072 comb 0.000000 user 0.000000 sys 0.000000 (best of 36199) When hg does this kind of operations 1500 times in pull -> bookmarks.comparebookmarks -> bookmarks.validdest, that's 11s that drop from the --profile output. Differential Revision: https://phab.mercurial-scm.org/D6506

File last commit:

r41072:ce0bc295 default
r42639:055c3e2c default
Show More
TODO.rst
21 lines | 782 B | text/x-rst | RstLexer

Address commentary in manifest.excludedmanifestrevlog.add - specifically we should improve the collaboration with core so that add() never gets called on an excluded directory and we can improve the stand-in to raise a ProgrammingError.

Reason more completely about rename-filtering logic in narrowfilelog. There could be some surprises lurking there.

Formally document the narrowspec format. For bonus points, unify with the server-specified narrowspec format.

narrowrepo.setnarrowpats() or narrowspec.save() need to make sure they're holding the wlock.

The follinwg places do an unrestricted dirstate walk (including files outside the narrowspec). Some of them should perhaps not do that.

  • debugfileset
  • perfwalk
  • sparse (but restricted to sparse config)
  • largefiles