Details

hg pull <bundle> uses the special "bundlerepo" repository. The
bundlerepo code makes many assumptions about the storage of
repositories. It will be difficult to teach bundlerepo to use
non-revlog storage before a better storage interface is established.

Many test failures using our "simple store" are related to
bundlerepo: the simple store just isn't compatible with bundlerepo
because of storage assumptions in bundlerepo.

In order to mitigate the impact of bundlerepo on our code base,
this commit changes various tests to use hg unbundle instead
of hg pull. This bypasses the bundlerepo code.

Tests exercising exchange functionality have not been altered, as
they should be using hg pull and going through the bundlerepo
code paths.

Quick question before I'm okay with this: do we still have an explicit test of hg pull from a bundle somewhere?

If so, this is strictly an improvement, since pull-from-bundle is slower than straight-unbundle.

It has to be evaluated on a case-by-case basis. I attempted to only make changes where the test was simply adding revisions to a repo and not testing behavior w.r.t. exchange. That being said, I audited this again and found at least one error. So will submit a follow-up.