mirror of
https://github.com/facebook/sapling.git
synced 2024-10-12 01:39:21 +03:00
93eb7cc993
Summary: When requesting trees from the server we try to provide a base tree that we already have. In the hybrid manifest days, when we were fetching manifest X, we would look up the linknode for X in the flat manifest revlog, then scan the changelog up and down from that linknode. In the treeonly world we don't have that revlog anymore though, so the current algorithm just searches from the tip. This ended up being a really bad algorithm, since if you have tip and you request tip~1000, then tip~2000, then tip~3000, you end up basing them all against tip and redownloading a lot of data. This makes hg blame and hg log -p super slow. Let's change the algorithm to base off of a hint linknode, and let's change changectx to set that hint every time it attempts to read a manifest. In manual testing this significantly sped up hg log -p Reviewed By: phillco Differential Revision: D8399613 fbshipit-source-id: 771a94ee8b82be682ea0091b8d6c0fcd5f4e6646 |
||
---|---|---|
.. | ||
__init__.py |