@b0rk To me part of the problem is git has no issue with submodules coming unglued from each other - you can check out another commit or branch on your root repo, but git does nothing to your submodules. You have to explicitly sync the submodules afterwards. I often end up building projects with submodules out of sync as a result.