.. _git-submodules: """"""""""""""""""" Updating Submodules """"""""""""""""""" When you are developing one of the submodules used by core/top-level Dakota, e.g., external, pecos, surfpack, packages/local/\*, local, the current workflow involves the following: - cd into submodule directory, e.g., 'cd packages/pecos' - 'git checkout devel' (or other branch as appopriate) - make code changes, e.g., several local commits - push to the remote devel branch (this ensures the changes are publically available before updating core Dakota to use them) - cd up to core Dakota - 'git status' should show new commits for the submodule - 'git commit -a' (this commits all modification including binding the sha1 of the submodule repos) or - 'git add packages/<submodule>' (without a trailing slash) to add only the submodule SHA1, followed by 'git commit' - 'git push' the change to the core Dakota repository