Make submodule_update self-contained