For Cxbx-Reloaded, we maintain our own forks of sub-moduled libraries.
This allows us to integrate them nicely into our build process, while also providing the ability to easily synchronize upstream changes.
Updating the Submodule Repository
From the sub-module directory (import/*)
git remote add upstream <upstream url>
git fetch upstream && git merge upstream/master
git push
At this point, our sub-module fork is synchronized with the latest upstream changes, but we still need to tell the Cxbx-Reloaded repository to use the new commits.
To do this, use any git client of choice (or the command line) to stage the sub-module's directory, and commit/push as normal.