( )⚙ D2491 narrow: always wrap repo

This is an archive of the discontinued Mercurial Phabricator instance.

narrow: always wrap repo
ClosedPublic

Authored by martinvonz on Feb 28 2018, 3:56 PM.

Details

Summary

It's simpler to always wrap the repo. This prepares for moving
narrowrepo.narrowmatch() onto localrepo by showing that it's now safe
to always wrap the repo (and thus always define narrowmatch() etc.).

Note that since narrowmatch() returns an always-matcher (rather than
None) in non-narrow repos, this may mean a performance hit when the
narrow extension is enabled because it adds a no-op filtering step in
various places against the always-matcher. I'll restore some of that
soon.

Diff Detail

Repository
rHG Mercurial
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

martinvonz created this revision.Feb 28 2018, 3:56 PM
indygreg accepted this revision.Feb 28 2018, 9:07 PM
indygreg added a subscriber: indygreg.

Yay for getting rid of __bases__ hackery!

This revision is now accepted and ready to land.Feb 28 2018, 9:07 PM
This revision was automatically updated to reflect the committed changes.