sapling/fastmanifest
Wez Furlong 0d75bb27b2 fastmanifest: flush data when writepending is called
Summary:
This is required so that eden is able to see the pending trees using the
HG_PENDING mechanism when eg: `hg amend` is used.  The eden dirstate
`setparents` implementation invokes `writepending` so this is part is
pretty straightforward.

What was a bit more difficult to trace through and understand was that
`hg amend` invokes setparents more than once in my simple
manual test scenario (a commit off master, plus a change to a file not
in that existing commit).

Since the pending callback is removed after the first `writepending` call
the subsequent call(s) to `setparents` had a NOP `writepending` and then
eden failed to resolve the data.

Re-establishing the callback after writing the data seems to do the job.

Test Plan: manual testing with `hg amend --debug` in an eden repo

Reviewers: simpkins, mbolin, durham

Reviewed By: durham

Subscribers: medson, mjpieters, net-systems-diffs@fb.com

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

Signature: t1:5711177:1503789059:04c06ffb6e7006a5188d5426ae706dd73cd4b150
2017-08-28 10:43:07 -07:00
..
__init__.py fastmanifest: move tree writing to memmanifestctx.write() 2017-08-07 19:27:17 -07: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 fastmanifest: flush data when writepending is called 2017-08-28 10:43:07 -07:00
metrics.py fastmanifest: fix logic error for debugmetrics and simplify test 2016-07-06 13:42:32 -07:00