This is an archive of the discontinued Mercurial Phabricator instance.

commands: document the layering violation in `manifest --all`
ClosedPublic

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

Details

Summary

This commit fixes the last test failures when using the simple
store extension!

It turns out that hg manifest --all locks the repo and scans for
revlogs. This feature was added by 71938479eff9 in 2011. I am
debating changing the behavior. But that can occur in another
commit.

As part of debugging this, I realized that test-manifest.t is the
only meaningful tester of hg manifest --all and that test was
improperly disabled when bundlerepos aren't supported. The test is
testing manifest behavior, not whether you can hg pull from a
bundle. So I changed the test to hg unbundle instead.

FWIW, I wasted a non-trivial amount of time tracking down this
failure. I thought the issue involved Git, which is why I refactored
the test to be more deterministic. Never in my mind would I have
guessed that code in hg manifest would scan revlogs. I should have
looked there to begin with. Doh.

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:39 AM
durin42 accepted this revision.Apr 6 2018, 8:46 PM
This revision is now accepted and ready to land.Apr 6 2018, 8:46 PM
This revision was automatically updated to reflect the committed changes.