Partial dump parses mergeinfo, in order to issue warnings if the mergeinfo refers to revisions outside the partial dump, and if the parse fails the dump fails. This is less than ideal since it stops users fixing the mergeinfo by editing the dumpfile. Dump should issue a warning, rather than stop with an error, should produce a dumpfile containing the invalid mergeinfo.
Load also parses the mergeinfo, in order to renumber, and so it won't load a dumpfile with invalid mergeinfo. That means users must fix the mergeinfo before loading. I suppose we could allow load when renumbering is not necessary, i.e. a full dumpfile into an empty repository.