This is an archive of the discontinued Mercurial Phabricator instance.

simplestore: correctly implement flag processors
ClosedPublic

Authored by indygreg on Apr 5 2018, 12:38 AM.

Details

Summary

There were a couple of bugs around the implementation of
flags processing with the simple store. After these changes,
test-flagprocessor.t now passes!

test-flagprocessor.t was also updated to include explicit test
coverage that pushed data is as expected on the server.

The test extension used by test-flagprocessor.t has been updated
so it monkeypatches the object returned from repo.file() instead
of monkeypatching filelog.filelog. This allows it to work with
extensions that return custom types from repo.file().

The monkeypatching is rather hacky and probably is performance
prohibitive for real repos. We should probably come up with a
better mechanism for registering flag processors so monkeypatching
isn't needed.

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

indygreg created this revision.Apr 5 2018, 12:38 AM
durin42 accepted this revision.Apr 6 2018, 8:44 PM
This revision is now accepted and ready to land.Apr 6 2018, 8:44 PM
This revision was automatically updated to reflect the committed changes.