sapling/fastmanifest
Durham Goode df97f609bf treemanifest: move history sorting responsibility into MutableHistoryPack
Summary:
Previously, the logic that added data to a mutable history pack was required to
add it in the correct order (all entries for a certain file at once, and in
newest-first order). This required the callers to jump through weird hoops if
the data came in out of order or at different times in the transaction.

This patch moves the ordering logic to be inside MutableHistoryPack, so callers
can add the data in any order they wish, and it will get sorted before being
serialized.

This does add memory pressure to things that read a lot of history, like repack.
If this becomes a problem we may want to add a 'historypack.flush()' api that
let's us tell the history pack it's ok to flush it's current contents to disk.

Test Plan: Ran the tests

Reviewers: #mercurial, quark

Reviewed By: quark

Subscribers: quark, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D4956096

Signature: t1:4956096:1493264693:a2275a49e35565d4b11244e3e5dd82c25de7e16e
2017-04-27 10:44:34 -07:00
..
__init__.py fastmanifest: wrap manifestlog.get 2017-02-09 17:36:26 -08:00
cachemanager.py fastmanifest: update to work with manifestlog 2016-11-16 12:11:06 -08:00
concurrency.py fastmanifest: fix some check code errors 2016-10-21 11:02:11 -07:00
constants.py fastmanifest: add documentation of constants 2016-06-08 14:28:14 -07:00
debug.py [fastmanifest] add a uiproxy object that forwards requests to a real ui object 2016-07-05 16:32:05 -07:00
implementation.py treemanifest: move history sorting responsibility into MutableHistoryPack 2017-04-27 10:44:34 -07:00
metrics.py fastmanifest: fix logic error for debugmetrics and simplify test 2016-07-06 13:42:32 -07:00