Summary:
This patch adds a wrapper that allows us to instantiate either flat
or fast manifest when a manifest is read.
This needs a change in core to work. In manifest.manifest in core we are
currently using two abstractions to create manifests: calling manifestdict()
or _newmanifest(). This was a hack added for the developement of treemanifest
and needs to be changed to make things saner.
Test Plan:
I added a new test. I also ran the whole test suite in core with
the extension, all the tests passed except test-treemanifest.t, failing on the
assert in _flatmanifest as expected.
python run-tests.py -j32 -l
--extra-config-opt=extensions.fastmanifest=/Users/lcharignon/facebook-hg-rpms/fb-hgext/fastmanifest.py
Reviewers: rmcelroy, ttung, durham
Subscribers: mjpieters
Differential Revision: https://phabricator.fb.com/D3115446
Tasks: 10589064
Summary:
For the moment the revset is just the draft revisions, it will evolve
to include likely rebase destination, branching points etc ...
Test Plan:
We add the result of querying the revset to the test to evaluate how
well the prediction match what is actually being accessed
Reviewers: durham, rmcelroy, ttung
Reviewed By: ttung
Subscribers: mjpieters
Differential Revision: https://phabricator.fb.com/D3115578
Tasks: 10604335
Signature: t1:3115578:1459374926:f9df976aae07db05a44f1fb69a4c83c2a11969dc
Summary:
This extension will contain the logic for the fastmanifest. For the moment it
contains very simple logic to log manifest access and see if our assumptions are
correct about what manifest are accessed during typical workflow. This will
help build the code to figure out what manifests are worth caching.
Test Plan: add a new test
Reviewers: durham, rmcelroy, ttung
Subscribers: mjpieters
Differential Revision: https://phabricator.fb.com/D3107990
Tasks: 10604335