Make shallow submodules robust to non-head updates
When the repo of the submodule is updated, and no head points to the required revision, we get a commit-not-found error.
build.xml should include fallback code to fetch more revisions, if necessary.
For mx, this could look like this:
git submodule update --depth 100 libs/mx
The mx issue is addressed with this commit: https://github.com/smarr/SOMns/commit/047f32f76cf31758369adcac1fdcb94004f4c68c
There was also an issue with libs/truffle, which could be worked around by setting my master branch to be the primary branch for that repo.
However, that's not a real fix, the script that loads submodules doesn't actually seem to work reliably with non-master branches, not sure why. The documentation says it should work, but the --no-recommend-shallow flags seems to be ignored.